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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于String轉(zhuǎn)化為byte數(shù)組后,不進(jìn)行&0xff,打印出的結(jié)果,上圖,為什么是這樣,漢字的一個(gè)字節(jié)前面為什么有那么多的1

11111111111111111111111111000100 ?

11111111111111111111111110111101 ? ?前兩行為“幕”

11111111111111111111111110111111?

11111111111111111111111111001110 ??前兩行為“課”

1000001 ?“A"

1000010 ? "B"

1000011 ?"c"


正在回答

3 回答

你這樣可不好哦。這種情況我們可以查看 Integer.toHexString(int i); 的API文檔:

“The unsigned integer value is the argument plus?2^32 if the argument is negative; otherwise, it is equal to the argument.”

文檔說如果參數(shù)為負(fù),那么無符號(hào)的整數(shù)值為參數(shù)加上 2^32作為參數(shù);否則等于該參數(shù)。

那就簡單了,因?yàn)檫@個(gè)的“慕”“課”2個(gè)字的GBK編碼為 11000100(C4BD)、10111101(BFCE)(http://www.mytju.com/classCode/tools/encode_gb2312.asp查詢),其作為 int 類型參數(shù)時(shí)為負(fù)數(shù),所以實(shí)際參數(shù)為00111100+2^32、01000011+2^32 剛好就是 11111111111111111111111111000100? 和? 11111111111111111111111110111101。而幾乎所有的編碼格式中的字母都是傳承的ASCII中的編碼,即a~z:61~7A、A~Z:41~5A,不存在轉(zhuǎn) int類型為負(fù)的問題。

這些也是我看到你的問題后才去查閱資料了解的,我還是希望大家學(xué)習(xí)編程過程中多一些磨礱淬礪,少一點(diǎn)不求甚解。對(duì)原理的掌握多少,覺頂你以后的高度。

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

武當(dāng)王也 提問者

非常感謝!
2015-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

詹士

你好,2^32是指把2和32分別變成2進(jìn)制之后進(jìn)行異或運(yùn)算么?然后再把結(jié)果加上那兩個(gè)字的二進(jìn)制編碼形式的值么? 再然后,你說“而幾乎所有的編碼格式中的字母都是傳承的ASCII中的編碼,即a~z:61~7A、A~Z:41~5A,不存在轉(zhuǎn) int類型為負(fù)的問題。”,為什么傳承ASCII中的編碼就不存在轉(zhuǎn)INT為負(fù)的問題? 如果你沒時(shí)間解釋,我需要看什么書補(bǔ)充哪方面的知識(shí)來了解?
2015-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#3

資深老饕 回復(fù) 詹士

C4BD、BFCE的2進(jìn)制表示為1100010010111101、 1011111111001110。2^32=2的32次方. 居然限制字?jǐn)?shù)--,算了,你搜索一下補(bǔ)碼個(gè)GBK編碼。不懂再聯(lián)系我郵箱lancaoren@gmail.com,我已經(jīng)不在imooc學(xué)習(xí)了。書的話,不管你干什么,只要你還編程,而且還不是計(jì)算機(jī)相關(guān)專業(yè)的學(xué)生的話,這些書早晚得看:操作系統(tǒng),數(shù)據(jù)結(jié)構(gòu)、算法分析、微機(jī)原理??梢噪S便看看了解以下,具體的會(huì)和以后的學(xué)習(xí)工作相互促進(jìn)。
2015-09-30 回復(fù) 有任何疑惑可以回復(fù)我~
#4

詹士 回復(fù) 資深老饕

謝謝!
2015-10-01 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

學(xué)習(xí)了

0 回復(fù) 有任何疑惑可以回復(fù)我~

我知道了,byte為8位,int為32位,將byte轉(zhuǎn)化為int,也就是相當(dāng)于將byte再增加24位,這24位默認(rèn)為零,漢字對(duì)應(yīng)的因?yàn)榉创a或者什么原因,前面添加的是1,

1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于String轉(zhuǎn)化為byte數(shù)組后,不進(jìn)行&0xff,打印出的結(jié)果,上圖,為什么是這樣,漢字的一個(gè)字節(jié)前面為什么有那么多的1

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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