如果ASCII使用每个字符12位,该怎么办?

问题描述:

如果ASCII使用7位来表示字符。有人能解释这对于支持的字符数量意味着什么吗?如果ASCII使用每个字符12位,那么这将如何改变?如果ASCII使用每个字符12位,该怎么办?

+0

ASCII只定义字符0..127,所以它只需要7位。如果你有12位,它仍然只需要和使用7位。 –

+0

ASCII是一种标准。 Unicode是另一个。你为什么不做一些关于unicode的研究来获得一些上下文。 –

有点有两种可能的状态。一组n位具有可能的状态2 n

因此7位可以表示2 = 128个可能的字符和12个比特可以表示2 12 = 4096个可能的字符。

Wikipedia's table of character sets这简略摘录提供历史的角度:

BCDIC   1928      6 bits Introduced with  
                the IBM card   

    FIELDATA  1956      6/7  Battlefield   
              bits information (USA)  

    EBCDIC  1963      8 bits IBM computers   
                Teleprinters and  
                computers;   

    ASCII   1963-06-17    7 bits original    
       (ASA X3.4-1963)     definition of   
                ASCII     

    ECMA-6  1965-04-30    7 bits ASCII localization 

    ISO 646  1967 (ISO/R646-1967)  7 bits ASCII localization 

       1967 (USAS      Close to "modern"  
    ASCII   X3.4-1967)    7 bits definition of   
                ASCII     
                IBM data    

    Braille ASCII 1969      6/7  Tactile print for  
              bits blind persons   

                Terminal text   
    ECMA-48  1972      7 bits manipulation and  
                colors    

    ISO/IEC 8859 1987      8 bits International   
                codes     

                Unified encoding  
    Unicode  1991      16/32 for most of the  
              bits world's writing  
                systems    
+0

Unicode的条目有点误导。 Unicode代码点上升到0x10FFFF,这将使它21位。 – melpomene

+0

@melpomene,2^21 = 2097152,它符合:*“Unicode代码空间被分成十七个平面(基本多语言平面和16个辅助平面),每个平面有65,536(= 216)个代码点, Unicode代码空间的大小是17×65,536 = 1,114,112。“* - [代码点(WP)](https://en.wikipedia.org/wiki/Code_point)据推测,Unicode的设计师是前瞻性的,他们允许一些空间为标准增长。 – agc

A 12位代码可以支持2到12个或4096个字符,减去一个或两个像空非字符,也许逸出,和一个几个空白字符。

现在你可以构建一个12位字节的计算机。但这将是一项昂贵的重新设计操作。大多数计算机都有8位字节,至少部分是因为ascii。

但选择扩展ascii的方法是Unicode,而标准中出现的编码是UTF-8这是ascii的超集 - 从某种意义上说,ascii是unicode。未使用的最高位被设置,并添加额外的字节以生成扩展的非拉丁字符。所以它是可变宽度编码,代码总是8位的倍数,并且其略微开放式结束,因为可以在范围的顶部添加代码,但是当前编码永远不会比四个字节更宽。