我使用的API处理我的文件并提供优化的输出,但不会保留一些特殊字符,例如:
输入:äöü
输出:äöü
我该如何解决这个问题?我应该使用什么编码?
非常感谢你的帮助!
答案 0 :(得分:0)
我不确定您使用的语言是什么,但是当输入的内容编码与读入内容的编码不匹配时,就会出现类似的情况。
因此,您可能希望准确指定读取数据的编码。您可能必须使用您需要使用的实际编码
string.getBytes("UTF-8")
string.getBytes("UTF-16")
string.getBytes("UTF-16LE")
string.getBytes("UTF-16BE")
etc...
另外,对这些数据的来源系统进行一些研究。例如,ASP.NET的Web服务将内容提供为UTF-16LE,但Java使用UTF-16BE编码。当这两个系统使用扩展字符相互通信时,它们可能不会完全以相同的方式相互理解。
答案 1 :(得分:0)
这实际上取决于您对数据进行的处理。但一般来说,一种强大的技术是将Iconv转换为UTF-8,并将其传递给支持ASCII的API或函数。一般来说,如果这些函数不会弄乱他们不理解为ASCII的数据,那么UTF-8就会被保留 - 这是UTF-8的一个很好的属性。