我有一些我正在用JAVA处理的数据。从数据的外观来看,似乎8位ASCII名称是使用UTF-8编码的,但存储在ASCII中。
数据字段中的值:“JoséFlores”
应该储存什么:“JoséFlores”
为了证实我的怀疑,我运行了这段代码:
byte[] utf8Bytes = c_TOBETRANSLATED.getBytes("UTF-8");
String s2 = new String(utf8Bytes);
当TOBETRANSLATED
=“JoséFlores”时,它返回“JoséFlores”。所以看起来我的数据字段是UTF-8编码的。因此,为了尝试将数据转换回ASCII,我尝试了这段代码:
byte[] utf8Bytes = c_TOBETRANSLATED.getBytes("ASCII");
String s2 = new String(utf8Bytes);
当TOBETRANSLATED
=“JoséFlores”时,它会返回“José©Flores”。
我做错了什么?
我需要TOBETRANSLATED
=“JoséFlores”返回“JoséFlores”。
答案 0 :(得分:0)
试试这个:
byte[] utf8Bytes = c_TOBETRANSLATED.getBytes("ISO-8859-1"); String s2 = new String(utf8Bytes, "UTF-8");