java – 是否有一个不被视为空格的隐形字符?
作者:互联网
我正在使用现有框架,如果满足某些条件,我必须将某个属性设置为空白.不幸的是,框架不允许仅为属性值设置空格.具体来说,它做了
!(org.apache.commons.lang.StringUtils.isBlank(value))检查值
有可能以某种方式绕过这个并设置一个看起来空白/不可见的值但不被视为空白的值吗?
我现在正在使用短划线“ – ”,但我认为知道这是否有可能会很有趣.
解决方法:
尝试Unicode Character ‘ZERO WIDTH SPACE’ (U+200B).根据WP: Whitespace#Unicode,它不是空白
StringUtils.isBlank的代码不会打扰它:
public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}
标签:java,whitespace 来源: https://codeday.me/bug/20191004/1854252.html