【发布时间】:2011-07-03 18:08:33
【问题描述】:
我的客户端和服务器之间的通信是 UTF-8 格式的 XML。然而,最近我在数据库中发现了一个非 UTF-8 字符——整个数据库中只有一个字符。显然它需要被保存。
但是,我不想将客户端和服务器之间的所有消息都更改为 UTF-16,因为它们会突然变大一倍,只是为了一个杂散的 unicode 字符。
我可以使用更有效的文本编码吗?也许仍然会以 8 位传输大多数 ASCII 字符,但仍会允许以某种方式发送非 UTF-8 字符?
【问题讨论】:
-
为什么不手动将一个非 UTF-8 字符更改为 UTF-8?
-
@Matt Ball 最终,角色仍然需要完好无损地到达客户那里。我当然可以手动将任何非 UTF-8 字符更改为其他字符以进行手动传输,然后在客户端将其更改回来,但我想也许有一种编码可以为我做这件事。
-
@Matt: UTF-8 是 Unicode。它将 ASCII 字符编码为 8 位,并且它支持您本机谈论的任何字符。没有“非 UTF-8 字符”,因为 UTF-8 几乎涵盖了人类已知的所有字符。
-
当你说非 UTF8 字符时,你到底是什么意思?可能存在格式错误的 UTF8 流(请参阅 UTF8 维基百科页面上的无效字节序列)。如果 UTF8 格式不正确,那么您将无法重新编码为任何其他方案。
-
谢谢大家,我认为这是我在这方面缺乏经验的表现:) 我会回去重新审视我正在做的事情。
标签: xml encoding utf-8 character-encoding