【发布时间】:2010-11-30 18:32:26
【问题描述】:
有没有办法使用 Java 将 ANSI 字符串转换为 UTF。
我有一个自定义序列化程序,它使用 DataInputStream 类的 readUTF 和 writeUTF 方法来反序列化和序列化字符串。如果我收到一个以 ANSI 编码的字符串并且太长,大约 100000 个字符长我会收到错误消息;
原因: java.io.UTFDataFormatException: 编码字符串太长:106958 字节
但是,在我的 Junit 测试中,我可以创建一个包含 120000 'a's 的字符串,并且效果很好
我已经检查了以下帖子,但仍然有错误;
【问题讨论】:
-
你的意思是ASCII吗?如果是这样,它已经是 UTF-8 - 你能解释一下吗?显示错误等。
-
无 ANSI != ASCII。 ANSI 是一个完整的代码页集合。
-
由于 readUTF 和 writeUTF 的大小限制,我修改了我的序列化程序,分部分发送文本
标签: java utf-8 character-encoding ansi