{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","id":"38270854-596f-4a26-8183-db8c968c6020","uuid":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","normalized_title":"编码隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","isbns":["9787121181184","0123456789","6044921875","3039331000","0000000000","0000000000000"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":438,"navigation_url":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020","title_url":"https://workshop.closeclaw.top/ai/title/%E7%BC%96%E7%A0%81%20%E9%9A%90%E5%8C%BF%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E7%A1%AC%E4%BB%B6%E8%83%8C%E5%90%8E%E7%9A%84%E8%AF%AD%E8%A8%80","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020","page_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/page","search_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/search"},"page":{"printed_page":320,"pdf_page":336,"physical_index":336,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"9c1d124f5dd2d8b66c8af28ae3808ba9ce3727d71802fd7e164e9a7776450f10"},"chapter":"编码隐匿在计算机软硬件背后的语言","content":"续表\n\n值得注意的是R与S之间编号有跳变。有时在编写程序的时候，尤其是程序中用到EBCDIC编码时，这个容易被忽视的小细节往往会令人抓狂。\n\n小写与大写字母的数字穿孔是相同的，但它们的区域穿孔不同。在a\\~i的小写字母，穿孔位于第12行和第0行，高半字节对应的编码为1000；在j\\~r的小写字母，穿孔位于第12行和第11行，高半字节对应的编码为1001；在s\\~z的小写字母，穿孔位于第11行和第0行，高半字节对应的编码为1010。小写字母的EBCDIC字符及其对应的十六进制编码如下表所示。\n\n当然，标点符号和控制字符也都有自己的EBCDIC编码，但对于这些字符的编码系统没有必要去深究。\n\n仔细观察IBM打孔卡，其中每一列细细数下共有12个孔，每个孔代表1位，也就是说可以提供12位的编码信息，不是吗？我们其实可以用打孔卡上每一列12孔中的7个来表示ASCI码。但是，这种方案有一个非技术方面的缺陷，那就是太多的穿孔将使得卡片变得很脆弱，容易折断。\n\n采用8位编码的EBCDIC中其实还有很多编码未定义，这也说明当年 ASCII码采用了7位编码也是合乎情理的。在ASCI码刚刚问世的那个年代，存储器的价格贵得令人咋舌，有一些观点认为ASCI码可以用6位编码并配合转义字符来使用，这样既可以区分大小写又节约了存储器。这种方案并没有被采纳，当时还有一些人认为ASCI码应采用8位编码，他们对计算机的体系结构有了一个大胆的推测，即计算机应该按字节存储，7位存储是不合适的。今天来看，8位的字节存储已经作为了一项标准。尽管ASCI码从技术的本质上来看是7位编码，但仍以8位的形式存储。\n\n编码隐匿在计算机软硬件背后的语言\n\n320","previous_page":319,"next_page":321}