我需要在Java中执行从UTF-8到ISO-8859-1的字符转换,而不会丢失所有UTF-8特定标点符号。
理想情况下,希望将这些转换为ISO中的等价物(例如,UTF-8中可能有5个不同的单引号,并且希望它们都转换为ISO单引号字符)。
String.getBytes(“ISO-8859-1”)在这种情况下不会这样做,因为它会丢失特定于UTF-8的字符。
您是否知道Java中的任何准备好的映射或库会将UTF-8特定字符映射到ISO?
答案 0 :(得分:2)
IBM的ICU项目可能正是您所寻找的。它支持后备转换。
答案 1 :(得分:1)
您是否考虑过使用具有ISO-8859-1的显式字符集的OutputStream?
然后只需编写你的Unicode字符,看看你得到了什么。
答案 2 :(得分:0)
Java Development Kit有一个名为native2ascii的工具可以执行此操作。使用:
native2ascii -encoding UTF-8 [ inputfile [ outputfile ] ]
您也可以使用-reverse选项返回其他方式。