Heim >häufiges Problem >Was ist der Unterschied zwischen Unicode und ASCII?

Was ist der Unterschied zwischen Unicode und ASCII?

青灯夜游
青灯夜游Original
2021-10-15 13:50:3137676Durchsuche

Unterschiede: 1. Die ASCII-Kodierung beträgt 1 Byte, während die Unicode-Kodierung normalerweise 2 Bytes beträgt. 2. ASCII ist eine Einzelbyte-Kodierung und kann nicht zur Darstellung von Chinesisch verwendet werden; Unicode kann alle Sprachen darstellen. 3. Die Unicode-Kodierung erfordert doppelt so viel Speicherplatz wie die ASCII-Kodierung.

Was ist der Unterschied zwischen Unicode und ASCII?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

ASCII-Kodierung

  • ASCII-Code verwendet eine bestimmte 7-Bit- oder 8-Bit-Binärzahlenkombination, um 128 oder 256 mögliche Zeichen darzustellen. Der Standard-ASCII-Code, auch Basis-ASCII-Code genannt, verwendet 7 Binärziffern (die verbleibende 1 Binärziffer ist 0), um alle im amerikanischen Englisch verwendeten Groß- und Kleinbuchstaben, Zahlen 0 bis 9, Satzzeichen und spezielle Steuerelemente darzustellen. Das letzte Bit wird zur Paritätsprüfung verwendet.
  • Problem: ASCII ist eine Einzelbyte-Kodierung und kann nicht zur Darstellung von Chinesisch verwendet werden (die chinesische Kodierung erfordert mindestens 2 Bytes). Daher hat China die GB2312-Kodierung zur Kodierung von Chinesisch formuliert. Da es jedoch viele verschiedene Sprachen auf der Welt gibt, ist eine einheitliche Kodierung erforderlich.

Unicode

  • Unicode vereinheitlicht alle Sprachen in einer Reihe von Codierungen, sodass es nicht mehr zu Problemen mit verstümmeltem Code kommt.
  • Unicode verwendet am häufigsten zwei Bytes zur Darstellung eines Zeichens (wenn Sie sehr seltene Zeichen verwenden möchten, benötigen Sie 4 Bytes). Moderne Betriebssysteme und die meisten Programmiersprachen unterstützen Unicode direkt.

Der Unterschied zwischen Unicode und ASCII

  • Die ASCII-Kodierung beträgt 1 Byte, während die Unicode-Kodierung normalerweise 2 Byte beträgt.
    Die ASCII-Kodierung des Buchstabens A ist 65 in Dezimalzahl und 01000001 in Binärform; Sie müssen nur 0 voranstellen, was bedeutet: 00000000 01000001.
  • Neues Problem: Bei der Vereinheitlichung in die Unicode-Kodierung verschwindet das Problem verstümmelter Zeichen. Wenn der Text, den Sie schreiben, jedoch grundsätzlich ausschließlich auf Englisch verfasst ist, benötigt die Unicode-Kodierung doppelt so viel Speicherplatz wie die ASCII-Kodierung, was hinsichtlich der Speicherung und Übertragung sehr unwirtschaftlich ist.

UTF8

  • Im Sinne der Erhaltung gibt es also eine weitere UTF-8-Kodierung, die die Unicode-Kodierung in eine „Kodierung mit variabler Länge“ umwandelt.
  • UTF-8-Kodierung kodiert ein Unicode-Zeichen entsprechend unterschiedlicher Zahlengrößen in 1-6 Bytes. Häufig verwendete englische Buchstaben werden in 1 Byte kodiert, chinesische Zeichen sind normalerweise 3 Bytes und nur sehr seltene Zeichen werden in 4-Bytes kodiert. 6 Bytes. Wenn der Text, den Sie übertragen möchten, viele englische Zeichen enthält, können Sie Platz sparen, indem Sie ihn in UTF-8 kodieren.
Zeichen ASCII Unicode UTF-8
A 01000001 00000000 01 01000001
中文 x 01001110 00101101 01001110 00101101
  • Aus der obigen Tabelle können Sie auch ersehen, dass die UTF-8-Kodierung einen zusätzlichen Vorteil hat, das heißt, die ASCII-Kodierung kann tatsächlich als Teil der UTF-8-Kodierung betrachtet werden Unterstützt die ASCII-Kodierung. Ältere Software kann weiterhin unter UTF-8-Kodierung arbeiten.

So funktioniert die gängige Zeichenkodierung in Computern

  • Die Unicode-Kodierung wird einheitlich im Computerspeicher verwendet. Wenn sie auf der Festplatte gespeichert oder übertragen werden muss, wird sie in die UTF-8-Kodierung konvertiert.
  • Beim Bearbeiten mit Notepad werden die aus der Datei gelesenen UTF-8-Zeichen in Unicode-Zeichen umgewandelt und im Speicher abgelegt. Nach Abschluss der Bearbeitung wird Unicode in UTF-8 umgewandelt und beim Speichern in der Datei gespeichert:

    Was ist der Unterschied zwischen Unicode und ASCII?
  • Beim Surfen im Internet konvertiert der Server den dynamisch generierten Unicode-Inhalt in UTF-8 und überträgt ihn dann an den Browser:

    Was ist der Unterschied zwischen Unicode und ASCII?

Weitere Informationen zu diesem Thema finden Sie in der Spalte FAQ!

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Unicode und ASCII?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn