日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#常见编码方式总结

發(fā)布時(shí)間:2023/12/10 C# 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#常见编码方式总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、概念

我們知道計(jì)算機(jī)是基于二進(jìn)制來表示數(shù)據(jù)的,那么對(duì)于字母和漢字等字符用二進(jìn)制如何表示?
這就需要用一種編碼方式將這些字母或者符號(hào)轉(zhuǎn)換二進(jìn)制表示。首先需要對(duì)字符集進(jìn)行編碼表示,每個(gè)編碼代表一個(gè)固定的字符,然后再將字符的編碼轉(zhuǎn)換成二進(jìn)制表示。
計(jì)算機(jī)常用字符的編碼主要分為兩種:Unicode碼與ASCII碼。

二、Unicode

Unicode 是一種標(biāo)準(zhǔn)的編碼系統(tǒng),可以用于幾乎所有語言的字符的編碼,Unicode的出現(xiàn)是因?yàn)锳SCII等其他編碼不能適應(yīng)更多的字符編碼需求。
每個(gè)字符使用 0 和 0x10FFFF 之間的唯一整數(shù)碼位進(jìn)行編碼,而其中編碼就是一個(gè)將一組 Unicode 字符轉(zhuǎn)換為一個(gè)字節(jié)序列的過程。

2.1 編碼方式

Unicode 標(biāo)準(zhǔn)為所有字符都分配一個(gè)碼位,其中Unicode 轉(zhuǎn)換格式 (UTF) 是一種碼位編碼方式。有三種編碼方式,如下所示:
UTF-8,它將每個(gè)碼位表示為一個(gè)由 1 至 4 個(gè)字節(jié)組成的序列,極少數(shù)用4~6個(gè)字節(jié)存儲(chǔ)。它的規(guī)則如下: 1)對(duì)于單字節(jié)的符號(hào),字節(jié)的第一位設(shè)為0,后面7位為這個(gè)符號(hào)的unicode碼。 2)對(duì)于n字節(jié)的符號(hào)(n>1),第一個(gè)字節(jié)的前n位都設(shè)為1,第n+1位設(shè)為0,后面字節(jié)的前兩位一律設(shè)為10。剩下的沒有提及的二進(jìn)制位,全部為這個(gè)符號(hào)的unicode碼。
在C#中,System.Text.Encoding.Unicode與System.Text.Encoding.UTF8的區(qū)別:Windows默認(rèn)的Unicode實(shí)現(xiàn)是UTF-16,所以C#中Encoding.Unicode就是UTF-16,與UTF8不同。

UTF-16,介于 UTF-8 和 UTF-32 之間,使用 2 個(gè)或者 4 個(gè)字節(jié)來存儲(chǔ),長度既固定又可變。UTF-16是分區(qū)定義的,每個(gè)區(qū)可以存放 65536 個(gè)字符,為1個(gè)平面,共有17個(gè)平面。分為基本平面BMP 和輔助平面SMP。常見的字符都在BMP中。

UTF-32,一種固定長度的編碼方案,不管字符編號(hào)大小,始終使用 4 個(gè)字節(jié)來存儲(chǔ)。
中文對(duì)應(yīng)的Unicode編碼見:http://www.chi2ko.com/tool/CJK.htm
BOM(Byte Order Mark)是用來區(qū)分字節(jié)序列和編碼方式的(UTF-8,UTF-16,UTF-32)。

三、 ASCII

ASCII(American Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼)是一套基于拉丁字母的字符編碼。
我們都知道,一個(gè)字節(jié)由8位二進(jìn)制數(shù)構(gòu)成,所以1個(gè)字節(jié)共有2的8次方種組合。如果每一種方式可以表示一個(gè)字符的話,那么1字節(jié)可以表示256個(gè)字符。ASCII 碼就是描述英文字符和8 位二進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系。
ASCII 碼對(duì)照表定義了 128 個(gè)字符,包含 33 個(gè)控制字符和 95 個(gè)可顯示字符。

ASCII 碼對(duì)照表
徹底弄懂 Unicode 編碼

總結(jié)

以上是生活随笔為你收集整理的C#常见编码方式总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。