我正在使用以下代码使用 ASCII 编码将我的字符串转换为字节数组。
String data = "<?xml version="1.0" encoding="utf-8"?><ns0:ReceivedPayment Amount="1.01"/>"
byte[] buffer = Encoding.ASCII.GetBytes(data);
我面临的问题是添加“?”在我的字符串中。
现在如果我再次将我的字节数组转换回字符串
var str = System.Text.Encoding.Default.GetString(buffer);
我的字符串变成了
string str = "?<?xml version="1.0" encoding="utf-8"?><ns0:ReceivedPayment Amount="1.01"/>"
有谁知道为什么要加“?”在我的字符串中以及如何删除它。
最佳答案
您似乎只展示了简化的代码。您从文件中读取数据对吗?如果是,请检查文件开头的 BOM(字节顺序标记)字段。它用于编码:UTF-8、UTF-16 和 UTF-32。
关于c# - 字符串到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35370273/