编辑:
我正在从文件中读取该字符串,因此这个话题实际上是关于以下问题:
我有一个字符串,它与从文件接收到的字符串相等:equal()
"Diogo Pi\\u00e7arra - Tu E Eu"
如何让Java将结果字符串"\u00e7"读取为字符"ç"?
这是因为文件不是以UTF-8编码,而是以转义Unicode编码,所以我将"\u00e7"读取为字符串而不是Unicode字符。因此,我需要一个在运行时解析它的函数。我可以使用.replace()函数迭代来解析它,但是......
旧问题(之前提问方式有误,请忽略以下文字):
我有以下字符串:
final String str = "Diogo Pi\u00e7arra - Tu E Eu";
我希望将其转换为:
并且我想将其转换为:
"Diogo Piçarra - Tu E Eu"
我已经尝试了各种方法,从Apache Lang工具的unescape函数到...
new String(str.getBytes("UTF-16"), "UTF-16")
或者
new String(str.getBytes("UTF-8"), "UTF-8")
或者
new String(str.getBytes("UTF-16"))
或者
new String(str.getBytes("UTF-8"))
但是什么都没有起作用...!
接下来我该尝试什么?
谢谢!
System.getProperty("file.encoding")
? - Andrew Tobilko