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

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

疑問:2個int 占8字節(jié)。一個long加一個double是16字節(jié),,utf-8兩個占6字節(jié),兩個utf-16be占4字節(jié), 共計占用34個字節(jié),,但是打印輸出36字節(jié),求解

正在回答

2 回答

樓上的回答不正確,正確的答案:

int是4個字節(jié),long和double都是8個字節(jié)。

writeChars方法采用UTF16編碼,一個漢字是2個字節(jié)。

writeUTF方法采用UTF8編碼,一個漢字是3個字節(jié)。

所以計算出34個字節(jié),那么多余的2個字節(jié)是從哪里來的呢?

告訴你,是從WriteUTF方法得來的2個字節(jié)。請看API:

void writeUTF(String?s)?throws IOException
將表示長度信息的兩個字節(jié)寫入輸出流,后跟字符串 s 中每個字符的 UTF-8 修改版表示形式。如果 s 為 null,則拋出 NullPointerException。根據(jù)字符的值,將字符串 s 中每個字符轉(zhuǎn)換成一個字節(jié)、兩個字節(jié)或三個字節(jié)的字節(jié)組。

看到了吧,先寫入表示字符串長度的兩個字節(jié)后,再開始寫入字符串。所以是36個字節(jié)。

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

dos.writeLong(10l),貌似l占用了兩個字節(jié),可以試試

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

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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