1. 程式人生 > >中文編碼 1:常見中文編碼格式

中文編碼 1:常見中文編碼格式

為什麼要有中文編碼格式?

        最早的ASCII碼只包括了字母、標點符號、特殊字元等127個字元。這些字元對於拉丁語系國家的人使用是足夠的,但是對於非拉丁語系國家(如中國、日本等),ASCII碼就遠遠不夠了。因此就需要編碼來表示大量的漢字字元。

常用的幾種中文編碼格式:

1、Unicode編碼

           Unicode編碼通常由兩個位元組組成,稱作USC-2,個別偏僻字由四個位元組組成,稱作USC-4。前127個還表示原來ASCII碼裡的字元,只不過由一個位元組變成了兩個位元組。

優點:可以囊括多國語言,囊括了常用漢字

不足:表示一個英文字元由一個位元組變成了兩個,浪費儲存空間和傳輸速度。生僻字表示不足

2、UTF-8編碼

            Unicode編碼的一種,Unicode用一些基本的保留字元制定了三套編碼方式,它們分別為UTF-8,UTF-16,UTF-32.在UTF-8中,字元是以8位序列來編碼的,用一個或幾個位元組來表示一個字元。這種方式的最大好處是UTF-8保留了ASCII字元的編碼作為它的一部分。UTF-8俗稱“萬國碼”,可以同屏顯示多語種,一個漢字通常佔用3位元組(生僻字佔6個)。為了做到國際化,網頁儘可能採用UTF-8編碼。

3、GB2312編碼

GB2312簡體中文編碼,一個漢字佔用2個位元組,在大陸是主要的編碼方式。當文章/網頁中包含繁體中文、日文、韓文等時,這些內容可能無法被正確編碼。

作用:國家簡體中文字符集,相容ASCII

位數:使用2個位元組表示,能表示7445個符號,包括6763個漢字,幾乎覆蓋所有高頻率漢字。

範圍:高位元組從A1-A7,低位元組從A1到FE。將高位元組和低位元組分別加上0xA0即可得到編碼。

4、BIG5編碼

稱為繁體中文編碼,主要在臺灣地區使用。

5、GBK編碼

作用:它是GB2312的擴充套件,加入對繁體字的支援,相容GB2312.

位數:使用2個位元組表示,可表示21886個字元。

範圍:高位元組從81到FE,低位元組從40到FE.

6、GB18030編碼

作用:它解決了中文、日文、朝鮮語等的編碼,相容GBK。

位數:它採用變位元組表示(1ASCII, 2,4位元組)。可表示27484個文字。

範圍:1位元組從00到7F;2位元組高位元組從81到FE,低位元組從40到7E和80到FE;4位元組第一三位元組從81到FE,第二四位元組從30到39.

參考:

相關推薦

中文編碼 1常見中文編碼格式

為什麼要有中文編碼格式?         最早的ASCII碼只包括了字母、標點符號、特殊字元等127個字元。這些字元對於拉丁語系國家的人使用是足夠的,但是對於非拉丁語系國家(如中國、日本等),ASCII碼就遠遠不夠了。因此就需要編碼來表示大量的漢字字元。 常用的幾種中文編

iOS音訊學習筆記一常見音訊封裝格式編碼格式

(1) pcm格式    pcm是經過話筒錄音後直接得到的未經壓縮的資料流    資料大小=取樣頻率*取樣位數*聲道*秒數/8     取樣頻率一般是22k或者44k,位數一般是8位或者16位,聲道一般是單聲道或者雙聲道     pcm屬於編碼格式,就是一串由多個樣本值組成的資料流, 本身沒有任何頭資

Airflow 中文文件常見問題

為什麼我的任務沒有安排好? 您的任務可能無法安排的原因有很多。 以下是一些常見原因: 您的指令碼是否“編譯”,Airflow引擎是否可以解析它並找到您的DAG物件。 要對此進行測試,您可以執行airflow list_dags並確認您的DAG顯示在列表中。 您還可以執行air

【H.264/AVC視訊編解碼技術詳解】二十三、幀間預測編碼(1)幀間預測編碼的基本原理

《H.264/AVC視訊編解碼技術詳解》視訊教程已經在“CSDN學院”上線,視訊中詳述了H.264的背景、標準協議和實現,並通過一個實戰工程的形式對H.264的標準進行解析和實現,歡迎觀看! “紙上得來終覺淺,絕知此事要躬行”,只有自己按照標準文件以程式碼的形式操作一遍,才能對視訊壓

c#字元編碼,System.Text.Encoding類,字元編碼大全如Unicode編碼、GB18030、UTF-8,UTF-7,GB2312,ASCII,UTF32,Big5

本頁列出來目前window下所有支援的字元編碼  ---c#通過 System.Text.Encoding.GetEncodings()獲取,裡面可以對其進行查詢,篩選,對同一個字元,在不同編碼進行檢視和分析。。。 內碼表編號 名稱 程式碼 型別 單位元組碼位 37 IB

python實戰之編碼問題中文!永遠的痛

輸出 == 技術分享 都是 -s dsm font clas ng- 編碼的思維圖譜: 也就是說文件沒有編碼之說,事實上都是按二進制格式保存在硬盤中的。不過在寫入讀取時須使用相應的編碼進行處理,以便操作系統配合相關軟件/字體,繪制到屏幕中給人

PHP輸出中文亂碼解決編碼終結者

php 中文亂碼 編碼學習PHP之初,根本就沒有意識到過有編碼那回事兒,隨著對中文的輸出越來越多,遇到輸出亂碼的情況也就更加普遍了。最早我們懷疑是數據庫編碼的問題,於是在PHP代碼中的解決的辦法是:mysql_query("SET NAMES UTF8"); 但這樣做了後,網頁顯示的仍然是亂碼,於是有修改

mysql無法插入中文的解決辦法修改資料庫編碼為utf-8

mysql無法插入中文的解決辦法 1.無法插入中文原因 mysql資料庫的預設編碼是latin1,可以使用下面程式碼檢視資料庫編碼 show variables like "%character%"; 發現有兩處的編碼是latin1,latin1編碼是不允許插入中文的,我們

Python3 編碼問題 怎麼將Unicode轉中文,以及GBK亂碼ÖйúÉÙÊýÃñ×åÌØÉ«´åÕ¯

原理: 如果***type(text) is bytes***, 那麼text.decode('unicode_escape') 如果type(text) is str, 那麼text.encode(‘latin1’).deco

中文亂碼之《字符編碼ASCII,Unicode 和 UTF-8》

不同的 簡體中文 block 怎麽 一個 默認 lock .html 理論 參考文獻:字符編碼筆記:ASCII,Unicode 和 UTF-8 一、ASCII 碼 我們知道,計算機內部,所有信息最終都是一個二進制值。每一個二進制位(bit)有0和1兩種狀態,因此八個二進

java中文亂碼解決之道(三)-----編碼詳情偉大的創想---Unicode編碼

隨著計算機的發展、普及,世界各國為了適應本國的語言和字元都會自己設計一套自己的編碼風格,正是由於這種亂,導致存在很多種編碼方式,以至於同一個二進位制數字可能會被解釋成不同的符號。為了解決這種不相容的問題

centos6.5環境下的web項目mysql編碼方式導致的中文亂碼問題

efault filesyste vim 命令 client 編碼方式 mysql編碼 safe files 最近在centos6.5下部署web項目時網頁出現中文亂碼的問題,在排除掉php之後,把問題鎖定在mysql的編碼方式上。 解決方法如下: 首先進入mysql命

即時通訊音視訊開發(八)常見的實時語音通訊編碼標準

前言 即時通訊應用中的實時音視訊技術,幾乎是IM開發中的最後一道高牆。原因在於:實時音視訊技術 = 音視訊處理技術 + 網路傳輸技術 的橫向技術應用集合體,而公共網際網路不是為了實時通訊設計的。 系列文章 《即時通訊音視訊開發(六):如何開始音訊編解碼技術的學習》 《即時通

json中中文為5位數字的編碼

原始碼: import requests from html.parser import unescape from urllib.parse import quote headers = { 'Accept': 'application/json', 'Accept-Encod

三種常見字元編碼ASCII、Unicode和UTF-8

什麼是字元編碼? 計算機只能處理數字,如果要處理文字,就必須先把文字轉換為數字才能處理。最早的計算機在設計時採用8個位元(bit)作為一個位元組(byte),所以,一個位元組能表示的最大的整數就是255(二進位制11111111=十進位制255),如果要表示更大的整數,就必須用更多的位元組。比如

JAVA幾種常見編碼格式(轉)

簡介   編碼問題一直困擾著開發人員,尤其在 Java 中更加明顯,因為 Java 是跨平臺語言,不同平臺之間編碼之間的切換較多。本文將向你詳細介紹 Java 中編碼問題出現的根本原因,你將瞭解到:Java 中經常遇到的幾種編碼格式的區別;Java 中經常需要編

OGC入門學習專欄-2.1 SWE通用資料模型編碼標準

宣告 本節內容來源於OGC官網的英文文件,筆者將其翻譯為中文,方便大家閱讀。如果有不準確或錯誤的地方,歡迎大家在下方留言指正。 本節屬於OGC學習專欄的感測器網路實現(SWE)部分,主要介紹SWE通用

JDBC查詢條件中包含中文,無查詢結果(編碼問題)

JDBC查詢條件中包含中文,無查詢結果(編碼問題)    java mysql: Variable_name Value character_set_cl

python下含中文字串正則表示式的編碼問題

前言Python檔案預設的編碼格式是ascii ,無法識別漢字,因為ascii碼中沒有中文。所以py檔案中要寫中文字元時,一般在開頭加 # -*- coding: utf-8 -*- 或者 #coding=utf-8。這是指定一種編碼格式,意味著用該編碼儲存中文字元(也可以是

中文亂碼解決之一 JS的編碼、解碼及C#中對應的解碼、編碼

JS的編碼、解碼及C#中對應的解碼、編碼 1、escape 定義和用法 escape對字串資料編碼,如果是對url進行編碼必須用encodeURI或是encodeURLComponent,解碼使用:unescape。 返回值 字符集是unicode,編碼成16進位制。 說明