【发布时间】:2014-01-29 22:58:19
【问题描述】:
我正在尝试转换类似的字符串
<Root>á</Root>
到它的 UTF 字符串表示,像这样
<Root>á</Root>
(取自本页:http://www.cafewebmaster.com/online_tools/utf8_encode)
但是当我发出 Encoding.UTF8.GetBytes(str) 时,我得到一个 utf 字节数组。
如何将这些字节转换为我所追求的字符串表示形式?
--
感谢您指出没有 utf8 字符串的字符串表示形式。
为了澄清我的需求,我必须在 sql 2008 中执行类似的操作:
xmlAuditoria_Alta
'
<Out>utf8 char: á</Out>
'
这是我迄今为止发现的唯一方法,可以让这个存储的程序正确保存值
utf8 char: á
这就是我尝试从á 转换为á 的原因
也许有更正确的方法来做到这一点
【问题讨论】:
-
没有“UTF 字符串表示”之类的东西。
á是当您错误地将 UTF8 字节解析为单字节编码时会发生的情况。 你不应该这样做。 -
请使用适当的 API 来处理 XML...
-
对于它的价值,从表面上看,你的问题的答案是:
Encoding _1252 = new Encoding(1252); // or whatever single byte encoding you desire byte[] utf8 = Encoding.UTF8.GetBytes(str); string mangledStr = _1252.GetString(utf8);但我很肯定你不想这样做!