C# 从编码字节获取字符串数据

C# 从编码字节获取字符串数据,c#,C#,我有一个字节数组,它来自条形码阅读器(通过COM端口连接)读取身份证。当我转换这些数据时,我可以读取一些数据,例如: 姓名、姓氏、城市 等等,但是如果一些数据有一些字符,比如“Ë”或“Ë”,或者我们语言中使用的一些字符[ed:OP在科索沃普里什蒂纳],我得到“?”。如何通过解码获得这些字符?您需要知道设备使用的适当的编码方法;例如,在这种情况下,它可能是UTF-16 string s = Encoding.Unicode.GetString(bytes); 或UTF-8: string s =

我有一个字节数组,它来自条形码阅读器(通过COM端口连接)读取身份证。当我转换这些数据时,我可以读取一些数据,例如:

姓名、姓氏、城市


等等,但是如果一些数据有一些字符,比如“Ë”或“Ë”,或者我们语言中使用的一些字符[ed:OP在科索沃普里什蒂纳],我得到“?”。如何通过解码获得这些字符?

您需要知道设备使用的适当的
编码方法;例如,在这种情况下,它可能是UTF-16

string s = Encoding.Unicode.GetString(bytes);
或UTF-8:

string s = Encoding.UTF8.GetString(bytes);
但对于区域编码/代码页,您必须使用:

string s = Encoding.GetEncoding(yourEncoding).GetString(bytes);