用UTF字符编码java字符串\&\#232
我有包含奇怪UTF字符的字符串。。。我该怎么处理呢 例如è=\è 所以我有用UTF字符编码java字符串\&\#232,java,encoding,utf-8,Java,Encoding,Utf 8,我有包含奇怪UTF字符的字符串。。。我该怎么处理呢 例如è=\è 所以我有 String str = "Pel\&\#232" ; String correct str2 =??? ; // i'd like to have "Pelè" 然后我有很多奇怪的角色,我真的不知道该怎么处理 另一个例子是:“何俊仁 有人能帮忙吗 非常感谢您的回答。 我正在读一个大的文本文件,是从一个我无法更改的网站下载的。 在文件本身中,人名是这样保存的。不是文件的编码。 我也不能手动操作,因为我
String str = "Pel\&\#232" ;
String correct str2 =??? ; // i'd like to have "Pelè"
然后我有很多奇怪的角色,我真的不知道该怎么处理
另一个例子是:“何俊仁
有人能帮忙吗
非常感谢您的回答。
我正在读一个大的文本文件,是从一个我无法更改的网站下载的。 在文件本身中,人名是这样保存的。不是文件的编码。 我也不能手动操作,因为我有300个名字有这个问题 另一个例子: 在文本文件中,此人的名字是“Constantin S\â;rbu”,应该是Sîrbu 我卡住了
编辑***我解决了创建一个手动函数来将HTML值与unicode关联的问题。。。花了我一段时间,但它能起作用。我想你可以把è放在字符串中。比如:
String s=“Pelè”代码>只需将源文件的编码设置为UTF-8(这应该在编辑器的首选项中完成)。然后简单地使用String str=“Pelè”
Java Unicode字符看起来像\uxxx
XXXX正好是四个十六进制数字,没有终止符;或者任何需要的东西
Java需要十六进制的Unicode,但您的232是以10为基数的。而且Java总是需要四个十六进制数字。由于232第纳尔等于E8十六进制,因此在Java字符串中给出è=\u00E8
:
System.out.println("Pel\u00E8 was a great footballer.");
您说您不能更改输入文件,但如何生成包含所需文本的中间文件
perl -pe 's/\\&#(\d+)/ sprintf("\\u%04X", $1) /ge' inputfile >intermediate
请修复您的编码。:-)\
是否出现在实际代码中,或者它们只是为了防止站点呈现è
而不是\&&232
?更准确地说,将编辑器编码设置为平台默认编码(通常是UTF-8,但并不总是),或者设置为使用-编码传递给编译器的编码。