ASCII (annotated)

參考 https://en.cppreference.com/w/c/language/ascii 作一些補註

  1. ASCII定義0x00-0x7F,超過的部分(第8bit)算是extended 8bit,看不同的標準有不同的定義,早期有些拿來當成parity bit
  2. 總共有128個character,其中95個是printable(0x20-0x7E),前32個和最後一個是control characters (0x00-0x1F/0-31, 0x7F/127)
  3. 數字的安排對應BCD的bit pattern(加上了011->hex 3),簡單來說0 -> 0x30、9-> 0x39,只要 &0x0F 就可以得到數字。
  4. 可以用每32個字元為單位分成四快來看,第一塊是控制字元、第二塊(數字)第三塊(大寫字母)他的順序安排有些歷史因素,可對比以下的DEC SIXBIT、第四塊是小寫字母。
https://en.wikipedia.org/wiki/Six-bit_character_code#DEC_six-bit_code
第一塊
第二、三塊: 可對比上面的DEC SIXBIT
第四塊
EBCDIC Character Set
https://www3.rocketsoftware.com/bluezone/help/v41/en/bz/APPEND/Ebcdic_Char_Set.htm

上面順便列出EBCDIC(發音: eb-SEE-dick) 供比較,主要使用在IBM mainframe上,注意大部分可印字元集中在後半區,並且A-Z, a-z並不是連續的

This entry was posted in C Language. Bookmark the permalink.

Leave a Reply