在C#中我需要獲取某些字符的ASCII碼。 因此,我將char
轉換爲byte
或int
,然後打印結果。ASCII碼字符
String sample="A";
int AsciiInt = sample[0];
byte AsciiByte = (byte)sample[0];
對於ASCII碼爲128或更小的字符,我可以得到正確的答案。
但對於大於128的字符,我得到無關緊要的答案!
我確定所有字符都小於0xFF。
我還測試了System.Text.Encoding
並得到了相同的結果。
例如:我得到172對於實際字節值爲129的字符!
其實ASCII字符像ƒ,‡,<,「¥,©,我,³,·,½,»,A
每個字符佔用1個字節,並上升到超過193 我猜有一個Unicode等價物,因爲它們將字符串解釋爲Unicode!
如果SomeOne需要訪問字節的實際值,它是否是有效的已知ASCII字符或不是!
你認爲哪個角色有一個「129實際字節值」? –
(而您是如何獲得這樣的性格?) –
我更新了我的問題,這似乎.NET犯規認識他們!我打開寫入的文件使用VS二進制編輯器這些字符而我看到的實際字節。 – Hamed