標點符號和空格佔幾個byte

2009-06-22 5:54 am
我寫到一題 要我們算說這段話有多少byte
像是:
"Hello Dear Customer"和"Yes, I am ready."

第一句中有3個大寫 14個小寫和2個空格
第二句中有2個大寫 9個小寫和3個空格2個標點符號


這到底要怎麼算啊/ \有沒有人可以回答我
有點急 不好意思

回答 (5)

2009-06-22 6:34 am
✔ 最佳答案
1 byte = 8 bit = 256種組合 , 以英文編碼來說夠用了,但中文就不夠用了


所以:
1個英文字=1 byte -- 大小寫,空格和標點也同屬


換言之,如果
1個中文字=2 byte -- 共65536種組合,中文編碼也夠用了~~


所以
第一句 Hello Dear Customer共 3+14+2=19 byte,
第二句 Yes, I am ready. 共 2+9+3+2=16 byte ~~
參考: 自已
2009-06-22 9:14 pm
其實c語言中就有可計算大小的函數--sizeof( )

把想知道大小的東西放進( )中就行了

例如:
printf("%d\n", sizeof("Yes, I am ready.") ); /* 字串 */
-->17

printf("%d\n",sizeof('a')); /* 小寫英文字元 */
-->1

printf("%d\n",sizeof('A')); /* 大寫英文字元 */
-->1

printf("%d\n",sizeof(' ')); /* 空格 */
-->1

printf("%d\n",sizeof(',')); /* 標點符號 */
-->1

printf("%d\n",sizeof('中')); /* 中文字 */
-->4

要注意的是你將字串丟進去時他會自動把結尾符號\0算進去,故會多一個Byte

還有函數傳回的值皆以Byte為單位
參考: 本身所學
2009-06-22 8:36 pm
根據標題,答案是14!
因為:『標點符號和空格』佔的 byte 數,當然是 14!
看你要不要加上結尾的 \0,那就會是 15!

根據問題,9527的答案才是對的。
2009-06-22 6:19 am
若是我沒記錯的話
一個半形的字元佔1bytes
半形英數.半形標點符號.半形space...etc
abcdefghijklmnopqrstuvwxyz
ABCDRFGHIJKLMNOPQRSTUVWXYZ
` ~ ! @ # $ % ^ & * ( ) _ + | / * - = \ [ ] { } . ? ; : ' " , < >
1234567890

一個全行的字元佔2bytes
全形英數.全形標點符號.全形space...etc
abcefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄧㄨㄩㄛㄜㄝㄞㄟ ㄡㄢㄣㄤㄥㄦˇˋˊ˙
~@#$%︿&*()_+|{}:"<>?‵[],。/*+-+=\;、
1234567890

差不多是這樣,基本上程式語言的字元內碼應該都差不多
所以應該都大同小異

2009-06-21 22:21:53 補充:
所以你的第一句跟第二句所佔的bytes數
應該分別是19跟16
參考: 自己
2009-06-22 6:13 am
一個字元佔2個byte
小寫及標點符號佔一個byte
這樣加總就很清楚了


參考: 3C量販


收錄日期: 2021-04-11 18:26:44
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090621000016KK10823

檢視 Wayback Machine 備份