【发布时间】:2018-04-12 04:14:28
【问题描述】:
在 C++ 中寻找与 Java 中的 Character.isIdentifierIgnorable() 对应的函数。基本上我必须用从它们派生的另一个字符串替换它们(这样信息就不会丢失)。
我在 Java 中的实现:
public static String replaceInvalidChar (String s) {
StringBuffer sb = new StringBuffer();
char[] characters = s.toCharArray();
for (char c : characters) {
if (Character.isIdentifierIgnorable(c)){
sb.append(String.format("\\u%04x", (int)c));
} else {
sb.append(c);
}
}
return sb.toString();
}
打算在 C++ 中做同样的事情,但为了替换字符,我需要先检测它们。有人可以帮我吗?
【问题讨论】:
-
看起来
std::iswctrl和std::iswspace可能会在将utf8转换为UCS2/UTF16明智的字符串后覆盖它。
标签: c++ string unicode xml-parsing