回覆列表
  • 1 # 使用者5590478773027

    首先,你這個說法不準確,在gbk裡面,一個漢字都是佔兩個位元組,

    但是utf8字符集,漢字佔用是3~4個位元組

    至於為什麼用兩個或者三個或者四個位元組來表示

    這要涉及到資料儲存方式了,你的文字不是直接把文字的形狀存進去,也就是不是說漢字“一”不是直接存一橫到磁盤裡面,而是存了一個“一”對應的編碼,或者你可以認為是代號,磁碟上是按二進位制儲存的,當然一般用的時候我們都轉換成16進位制

    然後一個位元組可以是二進位制00000000~11111111(轉換成16進位制是0x00~0xFF)中任何一個,但是0x00~0xFF總共有256種可能,也就是最多隻能代表256個字,中國漢字千千萬,一個位元組肯定無法囊括,然後就只有兩個位元組表示了,兩個位元組最多能代表256x256=65536個不同的字(當然英文、符號等也要佔用一部分),中國總共10000多個漢字,而且還有一些其它國家的,全球文字加起來,肯定無法完全表示,只能再加位元組。

    當然這是理想狀態,實際上utf8的兩個位元組的字元因為本身的規範原因,中文都是3~4個位元組表示。

  • 中秋節和大豐收的關聯?
  • outstanding payments是什麼意思?