【问题标题】:what if ASCII uses 12 bits per character?如果 ASCII 每个字符使用 12 位会怎样?
【发布时间】:2017-02-05 00:52:19
【问题描述】:

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

【问题讨论】:

  • ASCII 只定义字符 0..127,所以它只需要 7 位。如果你有 12 位,它仍然只需要并使用 7 位。
  • ASCII 是一种标准。 Unicode 是另一个。您为什么不对 unicode 进行一些研究以获取一些上下文。

标签: ascii extended-ascii


【解决方案1】:

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

因此 7 位可以表示 27 = 128 个可能的字符,12 位可以表示 212 = 4096 个可能的字符。

【讨论】:

    【解决方案2】:

    这段来自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              
    

    【讨论】:

    • Unicode 条目有点误导。 Unicode 代码点最高为 0x10FFFF,这将使其成为 21 位。
    • @melpomene, 2^21=2097152,符合:“Unicode码空间分为17个平面(基本多语言平面,16个辅助平面),每个平面有65,536( = 216) 个代码点。因此,Unicode 代码空间的总大小为 17 × 65,536 = 1,114,112。” -Code Point (WP) 大概 Unicode 的设计者具有前瞻性,他们为标准的发展留出了一些空间。
    【解决方案3】:

    一个 12 位代码可以支持 2 到 12 个或 4096 个字符,减去 1 或 2 个非字符(如 null、可能是转义字符和一些空白字符)。

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

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

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 2012-03-20
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多