Java 将UTF-8字符串转换为文字

Java 将UTF-8字符串转换为文字,java,utf-8,Java,Utf 8,我想在Java属性文件中将UTF-8字符串存储为UTF-8文本,如“\u0420\u0443\u0441\u0441\u043b\u044d\u043d\u0434” 我如何转换这个?因为默认情况下Java属性文件是ISO-8859-1。请尝试StringEscapeUtils.unescapeJava() Java有一个命令行工具来进行转换 native2ascii -encoding UTF-8 x-utf8.txt x.properties native2ascii -reverse -e

我想在Java属性文件中将UTF-8字符串
存储为UTF-8文本,如
“\u0420\u0443\u0441\u0441\u043b\u044d\u043d\u0434”


我如何转换这个?因为默认情况下Java属性文件是ISO-8859-1。

请尝试StringEscapeUtils.unescapeJava()


Java有一个命令行工具来进行转换

native2ascii -encoding UTF-8 x-utf8.txt x.properties
native2ascii -reverse -encoding UTF-8 x.properties x2-utf8.txt
此外,还有一些舒适的属性编辑器,可以让您输入未转换的Unicode,并可以并排显示多种语言。例如,在标准NetBeans IDE中

还可以将UTF-8文件保留为源文件,并让mavenant复制该文件并将其转换为构建目录


然后可以选择使用编码加载属性;有点太具体了。

这有帮助吗?谢谢,有没有办法不用ResourceBundle?您也可以使用Properties.load(reader)并传递一个UTF8兼容的读取器。注意使用正确的术语。这些不是“文字”,而是UTF-16字符文字。你提到UTF-8让人们走上了错误的道路。而且,没有“UTF-8字符串”这样的东西。字符串只是字符序列。将它们转换为字节时,使用字符编码。但是字符串本身没有字符编码。(Java内部使用UTF-16来存储字符)