2017-02-04 2 views
0

Wenn ASCII 7 Bits zur Darstellung von Zeichen verwendet. Könnte jemand erklären, was das für die Anzahl der unterstützten Zeichen bedeutet? Wie würde sich das ändern, wenn ASCII 12 Bits pro Zeichen verwendet?Was ist, wenn ASCII 12 Bits pro Zeichen verwendet?

+0

ASCII definiert nur Zeichen 0..127, so dass es nur 7 Bits benötigt. Wenn Sie 12 Bits haben, benötigt und verwendet es nur 7 Bits. –

+0

ASCII ist ein Standard. Unicode ist ein anderer. Warum forschen Sie nicht an Unicode, um einen Kontext zu bekommen? –

Antwort

2

Ein Bit hat zwei mögliche Zustände. Eine Gruppe von n Bits hat 2 n mögliche Zustände.

Daher 7 Bits 2 = 128 mögliche Zeichen repräsentieren und 12 Bits, 2 = 4096 mögliche Zeichen darstellen kann.

0

Dieser abgekürzte Ausschnitt aus Wikipedia's table of character sets liefert historische Perspektive:

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

Der Eintrag für Unicode ist ein bisschen irreführend. Unicode-Codepunkte gehen bis zu 0x10FFFF, was 21 Bits ergibt. – melpomene

+0

@melpomene, 2^21 = 2097152, was übereinstimmt mit: * "Der Unicode-Coderaum ist in siebzehn Ebenen (die mehrsprachige Grundebene und 16 Zusatzebenen) mit jeweils 65.536 (= 216) Codepunkten unterteilt Die Größe des Unicode-Coderaums ist 17 × 65.536 = 1.114.112. "* - [Code Point (WP)] (https://en.wikipedia.org/wiki/Code_point) Vermutlich sind die Designer von Unicode zukunftsorientiert und haben etwas Raum gelassen damit der Standard wächst. – agc

0

ein 12-Bit-Code 2 zu den zwölf oder 4096 Zeichen unterstützen kann, minus eins oder zwei für nicht-Zeichen wie null, vielleicht entkommen, und ein einige Leerzeichen.

Jetzt könnten Sie einen Computer mit 12-Bit-Bytes erstellen. Aber es wäre ein teurer Reengineering-Vorgang. Die meisten Computer haben 8-Bit-Bytes, zumindest teilweise wegen Ascii.

Aber die Methode zur Erweiterung ascii war Unicode, und die Codierung, die als Standard entsteht, ist UTF-8 Dies ist eine Obermenge von Ascii in gewissem Sinne - Ascii ist Unicode. Das nicht verwendete obere Bit wird gesetzt und zusätzliche Bytes hinzugefügt, um erweiterte nicht-lateinische Zeichen zu erzeugen. Es ist also eine Codierung mit variabler Breite, die Codes sind immer ein Vielfaches von 8 Bits, und es ist leicht zu Ende, dass es möglich ist, Codes an der Spitze des Bereichs hinzuzufügen, aber die aktuelle Codierung reicht nie weiter als vier Bytes.

Verwandte Themen