java – UTF-8和UTF-16之间是否存在巨大差异
我调用了一个webservice,它给了我一个具有UTF-8编码的响应xml.我在
java中使用getAllHeaders()方法检查了它.
现在,在我的java代码中,我接受了该响应,然后对其进行了一些处理.然后,将其传递给其他服务. 现在,我用google搜索了一下,发现默认情况下,Java中字符串的编码是UTF-16. 在我的响应xml中,其中一个元素有一个字符é.现在这搞砸了我对其他服务的后处理请求. 它没有发送é,而是发送了一些乱七八糟的东西.现在我想知道,这两种编码真的会有很大不同吗?如果我想知道什么将从UTF-8转换为UTF-16,那么我该怎么做呢? 谢谢 解决方法
UTF-8和UTF-16都是可变长度编码.但是,在UTF-8中,字符可能占用最少8位,而在UTF-16中,字符长度以16位开始.
主要UTF-8专业人士: >基本ASCII字符,如数字,拉丁字符,否 主要UTF-8缺点: >许多常见字符的长度不同,这会减慢索引速度 主要UTF-16专业人士: >最合理的角色,如拉丁文,西里尔文,中文,日文 主要UTF-16缺点: > US-ASCII字符串中有很多空字节,这意味着没有 通常,UTF-16通常更适合内存中表示,而UTF-8非常适合文本文件和网络协议 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |