第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

JAVA如何理解字符和字節(jié)的意思

JAVA如何理解字符和字節(jié)的意思

小飛9802 2016-10-25 15:30:13
新手 自學(xué)中 請(qǐng)問如何理解字符和字節(jié)。。。
查看完整描述

1 回答

?
大咪

TA貢獻(xiàn)785條經(jīng)驗(yàn) 獲得超332個(gè)贊

這不光是 Java 的概念,我們知道機(jī)器只知道字節(jié),而字符卻是語(yǔ)義上的單位,它是有編碼的,一個(gè)字符可能編碼成1個(gè)2個(gè)甚至3個(gè)4個(gè)字節(jié)。這跟字符集編碼有關(guān)系,英文字母和數(shù)字是單字節(jié),但漢字這些自然語(yǔ)言中的字符是多字節(jié)的。一個(gè)字節(jié)只能表示255個(gè)字符,不可能用于全球那么多種自然語(yǔ)言的處理,因此肯定需要多字節(jié)的存儲(chǔ)方式。

當(dāng)我們?cè)谔幚?Java 時(shí),比如 InputStream, OutputStream 它們是處理字節(jié)流的,就是說假設(shè)所有東西都是二進(jìn)制的字節(jié),而 Reader, Writer 則是字符流,它涉及到字符集的問題,因?yàn)榘岩粋€(gè)字符保存到磁盤或讀取出來需要指定一個(gè)字符集,平時(shí)你的代碼沒有指定是因?yàn)?JVM 讀取操作系統(tǒng)默認(rèn)的字符集,有時(shí)候(特別是數(shù)據(jù)交換的時(shí)候)可能這個(gè)默認(rèn)字符集不正確。

在 Java 中,它的內(nèi)核是使用 Unicode,也就是說它記住了每個(gè)字符的 Unicode 內(nèi)部編碼(一串?dāng)?shù)字,全球唯一,各國(guó)語(yǔ)言常用字符全部在里面,比如康熙字典這種古董中的多數(shù)漢字都在其中),只有把字符串通過網(wǎng)絡(luò)發(fā)送出去或保存到磁盤上或反過來讀取時(shí)才有字符編碼成字節(jié)的過程,因?yàn)橐粋€(gè)字符多個(gè)字節(jié)我們需要知道每個(gè)字符的這幾個(gè)字節(jié)是按什么順序排列的,第1個(gè)字節(jié)排前面還是排后面,多個(gè)字符串在一起時(shí)在讀取時(shí)怎么識(shí)別出哪幾個(gè)字節(jié)湊在一起是一個(gè)字符,這就是字符集編碼方案了,UTF8, GBK, GB2312, GB18030, BIG5,之類的都是其中一種字符集編碼方案。

查看完整回答
反對(duì) 回復(fù) 2016-10-25
  • 1 回答
  • 0 關(guān)注
  • 1303 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)