0
我將「1」「0」「0」「0」的btye數組轉換爲字符串。將字節[]轉換爲UTF8字符串
Encoding.UTF8.Getstring(myByteArray,0,4);
,其結果是"\0\0\0"
我所期待的結果是 「1」。我做錯了什麼?
我將「1」「0」「0」「0」的btye數組轉換爲字符串。將字節[]轉換爲UTF8字符串
Encoding.UTF8.Getstring(myByteArray,0,4);
,其結果是"\0\0\0"
我所期待的結果是 「1」。我做錯了什麼?
UTF8
編碼字符1
映射到等於31(十六進制)的字節49(十進制),請參閱UTF8 table。
但你有一些其他的數據,不知道爲什麼你期望「1」作爲結果。如果你期望「1」的結果是你的字節數組應該包含單個字節值49
。
var result = Encoding.UTF8.GetString(new byte[] { 49 });//result is 1
我相信你的數據不是UTF-8編碼的字節,這是別的東西(可能是一些其他的編碼!)。
您不能只使用UTF8
將任意字節轉換爲字符串。爲此,必須首先將字節編碼爲UTF8
。因此,找到數據的編碼方式,然後您可以使用適當的編碼來反轉它。
好的。我有一些數據是UTF8,有些只是數字。我看到這些數字不是UTF8編碼的。但我只是循環與foreach,所以我看不出哪一個是哪個。可能有編碼這兩種可能的方法。 – 2014-11-03 11:27:50