UTF-8和UTF-16的區別?Unicode和UTF是什么關系?
Unicode轉義字符(\u+4個十六進制)。遇到多個引號的時候轉義?
解釋:
unicode是一種編碼方式,和ascii是同一個概念,而UTF是一種存儲方式(格式)。
數據存儲是以“字節”(Byte)為單位,數據傳輸是以“位”(bit)為單位,一個位就代表一個0或1(即二進制),每8個位(bit)組成一個字節(Byte)。
1KB=1024B,1KB=1024Byte=1024*8bit
===========================
下面這段解釋引用自他人的博客:
bit、byte、位、字節、漢字的關系
1 bit = 1 二進制數據
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 漢字 = 2 byte = 16 bit
1. bit:位
一個二進制數據0或1,是1bit;
2. byte:字節
存儲空間的基本計量單位,如:MySQL中定義 VARCHAR(45) 即是指 45個字節;
1 byte = 8 bit
3. 一個英文字符占一個字節;
1 字母 = 1 byte = 8 bit
4. 一個漢字占2個字節;
1 漢字 = 2 byte = 16 bit
5. 標點符號
A>. 漢字輸入狀態下,默認為全角輸入方式;
B>. 英文輸入狀態下,默認為半角輸入方式;
C>. 全角輸入方式下,標點符號占2字節;
D>. 半角輸入方式下,標點符號占1字節;
故:漢字輸入狀態下的字符,占2個字節 (但不排除,自己更改了默認設置);
英文輸入狀態下的字符,占1個字節 (但不排除,自己更改了默認設置);
1 bit = 1 二進制數據
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 漢字 = 2 byte = 16 bit
1. bit:位
一個二進制數據0或1,是1bit;
2. byte:字節
存儲空間的基本計量單位,如:MySQL中定義 VARCHAR(45) 即是指 45個字節;
1 byte = 8 bit
3. 一個英文字符占一個字節;
1 字母 = 1 byte = 8 bit
4. 一個漢字占2個字節;
1 漢字 = 2 byte = 16 bit
5. 標點符號
A>. 漢字輸入狀態下,默認為全角輸入方式;
B>. 英文輸入狀態下,默認為半角輸入方式;
C>. 全角輸入方式下,標點符號占2字節;
D>. 半角輸入方式下,標點符號占1字節;
故:漢字輸入狀態下的字符,占2個字節 (但不排除,自己更改了默認設置);
英文輸入狀態下的字符,占1個字節 (但不排除,自己更改了默認設置);
引用結束
==================
以下這段文字引用字百度知道
英文一個字母是一字節。中國字比較復雜,1字節=8位,8位從0000 0000到1111 1111只能表示256個字符,2個字節是2*8=16位,從0000 0000 0000 0000到1111 1111 1111 1111可以表示65535個字符。
6萬多個足以表示我們經常用的那些字了。所以我們用2字節表示漢字。
如果用3個字節有很多不常用的字又占了很多不必要的存儲空間,所以我們用2個字節而不是1個或者3個表示漢字的國際碼。
引用結束
==================
為什么
1KB=1024B?
一開始我也感覺有點怪,KB和B之間不是應該是1000么?其實計算機就是這么規定的,就像 1 byte = 8 bit 沒有什么理由,規定了你拿來用就好了。
