2009/07/03

.NET 字串轉 Byte 、Byte 轉字串解法

因為 RFID 的 Block 讀寫是採用低階的 byte,一般使用不太可能直接使用 byte 而會是 String 一類的東西,是故我們必須學會如何把字串轉成 byte,反過來 byte 轉成 String 的方法。

"張京介" → Write to Block X
"張京介" → Convert to byte[] → {177, 105, 168, 202, 164, 182} → Write to Block O


.NET Framework 的 System.Text.Encoding 類別庫提供一系列的字碼頁轉換方式,其中有 Default (環境預設編碼,例如正體中文便是 Big5)、UTF7、UTF8、Unicode (UTF-16)、UTF32、ASCII 等編碼。要把字串變成 byte,則可以使用 GetBytes() 方法,以下是例子:

using System.Text;

String name = "張京介";
Encoding.UTF8.GetBytes(name); // {229, 188, 181, 228, 186, 172, 228, 187, 139}
Encoding.Default.GetBytes(name); // {177, 105, 168, 202, 164, 182}
Encoding.Unicode.GetBytes(name); // {53, 95, 172, 78, 203, 78}


要從 byte 轉回來,也有 GetString() 方法可以用,細節就不再說明。

沒有留言:

張貼留言