2012-02-26 58 views
0

我必須使用ASCII編碼將某些存儲器內容轉換爲字符串。例如:通過ASCII編碼將存儲器內容轉換爲字符串

0x6A636162 

但我不確定如何打破這個問題,將其轉換成ASCII。我認爲這與字符/數字中的位數有關,但我不知道該如何去做(當然,我想知道更多背後的原因,而不僅僅是「如何去做吧」)。

回答

1

ASCII使用7位來編碼字符(http://en.wikipedia.org/wiki/ASCII)。但是,通常使用8位編碼字符(注意技術上這不是ASCII)。因此,您需要將數據分成8位塊並將其與ASCII表匹配。

如果您使用特定的編程語言,它可能會將ASCII代碼轉換爲字符。例如,Ruby具有.chr方法,Python具有chr()內置函數,並且在C中可以使用printf(「%c」,number)。

注意,每個半字節(4位)可被表示爲一個十六進制數字,所以對您顯示樣本串中,每個8位的「塊」將是:

0x6A 
0x63 
0x61 
0X62 

串讀取「JCAB 「:)

+0

噢好吧,所以8位」塊「是一種2個十六進制字符。謝謝! – rfmas3 2012-02-26 02:18:50

相關問題