我正在尝试使用 unicode 字符“ \u65e5\u672c\u8a9e\u6587\u5b57\u5217
”打印一个字符串
我怎样才能打印相同的?Java 将上述字符串转换为不可读的格式,就好像它正在使用其默认的 unicode 字符转换。我怎样才能避免它发生?
我在 OS X 上运行它。
Edit1:请提供不添加反斜杠的解决方案
如果您要准确打印,则需要转义反斜杠:
\\u65e5\\u672c\\u8a9e\\u6587\\u5b57\\u5217
编辑:如果这不好,或者即使是这样,请查看这个答案-escapeJava
来自 Apache commons 听起来可能是您正在寻找的。或者也许是其中一种escapeHtml
方法?我不完全确定是否escapeJava
适用于 unicode。
逃避你的反斜杠
String s = "\\u65e5\\u672c\\u8a9e\\u6587\\u5b57\\u5217";
可以对字符串中的每个字符执行以下操作ch
:
int c = ch;
printf("\\u%04x", c);