.NET编码中的字符串是否不可知?

Isa*_*son 1 c#

我的问题很简单:.net编码中的字符串是否不可知?

我问这个是因为当我摄取一个我知道用某些windows-1252代码页元素(即智能引号)编码的xml文件时,在调试器中查看持有我的xml的字符串似乎想要解析单个"智能引号" "到一个带有问号的三角形.这让我想知道.NET是否断言持有我的XML的字符串是UTF8,因此无法解决差异.

这是一个问题,如果是这样,因为如果字符串被转换,那么我的web服务意味着从我的文本中擦除窗口智能引号将失败,因为它无法识别三角形/问号标记.

请帮忙.

Mic*_*sen 5

字符串总是UTF-16.必须将任何传入或传出数据转换为该编码或从该编码转换.

如果您使用正确的XML读取库,它很可能会为您处理它,只要XML具有适当的XML序言(但不需要Windows-1252支持以符合XML规范).