亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么慕課網這幾個字占了9個字節?

為什么慕課網這幾個字占了9個字節?不應該是6嘛?

一個字難道不是占2個?

正在回答

3 回答

每個字符占幾個字節是由選用的 字符集字符集編碼 決定的,中文字符并不一定占用2個字節。

簡單地說,為了表示文字的字符,人們給每一個字符都編了一個數字代碼,這樣字符代碼的合集叫做“字符集”。最常見的字符集就是ASCII,拉丁字母和標點符號及控制字符都有自己的代碼。我國發布有GB2312字符集,中文Windows中使用的就是這個。

但不同的國家為不同的語言發布這么多的字符集使用起來很麻煩。它們不一定兼容,同一個代碼在不同的字符集中可能代表不同的字符,這也是過去上網時常碰到亂碼的原因。為了解決這個問題,人們發明了unicode,目標給予將世界上所有語言的每一個字符一個不同的代碼,這樣就將全世界的字符都編到了一個字符集中,不會再有切換字符集的麻煩,也不會再有亂碼。


前面說的字符集規定了每一個字符的代碼,而如何將代碼儲存起來就成了另外一個問題。比如a在ASCII中的代碼是97,那要怎么在計算機中保存這個數字97呢? 記錄成浮點數97.0嗎? 還是記錄成整型97? ?這種記錄方式就叫字符集編碼。

當然我們知道ASCII碼就是簡單地記錄下整型值,每個字符占用1字節。

GB2312的編碼方式是記錄到2個字節中。

unicode有多種編碼方式,最常用的是UTF-8,這是一種可變長度的編碼,它將字符記錄到1-4個不等的字節中。好處就是可以節省空間,如ASCII字符還是會記錄為1個字節,而中文字符一般記錄到3個字節中。


現在在網頁中使用UTF-8幾乎已經成為國際標準了。而在編程方面,編譯器會決定采用哪種字符集和字符集編碼來保存字符。 看來本站的編譯器將漢字記錄為3個字節了。

2 回復 有任何疑惑可以回復我~
#1

python小白1_0 提問者

十分感謝啊
2015-10-22 回復 有任何疑惑可以回復我~
#2

define_ray

你寫這么多,看都不想看。
2016-01-23 回復 有任何疑惑可以回復我~

為什么我用軟件試了一下程序 輸出是6啊

0 回復 有任何疑惑可以回復我~
#1

define_ray

這個實在多了~~贊
2016-01-23 回復 有任何疑惑可以回復我~

一個字占了2.5個字節其實,但是內存分配是一個字節4個位,但是一般都是占4個位,相當于你1一個字占了12個位,

所以一個字相當于占用了12個位,當然等于9個字節。

....我好久沒看C語言了,但是我知道這個東西.. ?

不知道有沒有說錯,希望可以幫助你理解,你可以再學一下匯編,就比較好理解了

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

為什么慕課網這幾個字占了9個字節?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號