将Byte[]数组转换为字符串

本文关键字:转换 字符串 数组 Byte | 更新日期: 2023-09-27 18:17:29

我试过了:

byte[] buffer = (byte[])mf.Input; 
    //Here, the buffer comes from a serial input
string result = System.Text.Encoding.UTF8.GetString(buffer)
string result2 = System.Text.Encoding.ASCII.GetString(buffer);

和其他一些类似的方法。但是它返回一些奇怪的字符……我如何真正转换它?

这是我得到的值:" ' ??3?&?5?"
它应该返回一个Card ID值,比如B54A7WQ912
缓冲区值为:' buffer {byte[12]}
[0]168  
[1]63  
[2]18  
[3]63  
[4]21  
[5]...  
[6]....  
[7]....  
[8]...  
[9]...  
[10]...  
[11]...   

每个都有一个值。


现在我可以从RFID Mifare卡中取出Write/Read。但是像á,ã,à,è这样的特殊字符没有显示,而是显示?。我该怎么修呢?谢谢!

Obs:我正在使用上面的方法/'

将Byte[]数组转换为字符串

Encoding.GetString(byte[])是正确的方法,您必须选择正确的编码和/或确保发送给您的数据实际上是正确的格式。