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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java中的ISO-8859-1和UTF-8之間轉(zhuǎn)換?

如何在Java中的ISO-8859-1和UTF-8之間轉(zhuǎn)換?

ibeautiful 2019-10-17 14:27:00
有誰知道如何將字符串從ISO-8859-1轉(zhuǎn)換為UTF-8,然后再轉(zhuǎn)換回Java?我從網(wǎng)絡(luò)上獲取一個字符串并將其保存在RMS(J2ME)中,但我想保留特殊字符并從RMS中獲取字符串,但要使用ISO-8859-1編碼。我該怎么做呢?
查看完整描述

3 回答

?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

通常,您無法執(zhí)行此操作。UTF-8能夠編碼任何Unicode代碼點。ISO-8859-1只能處理其中的一小部分。因此,從ISO-8859-1轉(zhuǎn)換為UTF-8沒問題。如果發(fā)現(xiàn)不支持的字符,則從UTF-8退回到ISO-8859-1將導(dǎo)致“替換字符”( )出現(xiàn)在文本中。


轉(zhuǎn)碼文字:


byte[] latin1 = ...

byte[] utf8 = new String(latin1, "ISO-8859-1").getBytes("UTF-8");

要么


byte[] utf8 = ...

byte[] latin1 = new String(utf8, "UTF-8").getBytes("ISO-8859-1");

您可以使用較低級別的CharsetAPI 進行更多控制。例如,當(dāng)發(fā)現(xiàn)無法編碼的字符時,您可以引發(fā)異常,或者將其他字符用于替換文本。


查看完整回答
反對 回復(fù) 2019-10-17
?
炎炎設(shè)計

TA貢獻1808條經(jīng)驗 獲得超4個贊

如果您有String,則可以執(zhí)行以下操作:


String s = "test";

try {

    s.getBytes("UTF-8");

} catch(UnsupportedEncodingException uee) {

    uee.printStackTrace();

}

如果你有一個“破” String,你做錯了什么,轉(zhuǎn)換String到String另一種編碼defenetely不是要走的路!您可以將a轉(zhuǎn)換String為a byte[],反之亦然(給定編碼)。在Java String中,AFAIK編碼有,UTF-16但這是實現(xiàn)細節(jié)。


假設(shè)你有一個InputStream,你可以在閱讀byte[],然后將其轉(zhuǎn)換成一個String使用


byte[] bs = ...;

String s;

try {

    s = new String(bs, encoding);

} catch(UnsupportedEncodingException uee) {

    uee.printStackTrace();

}

甚至更好(由于埃里克森)使用InputStreamReader如下:


InputStreamReader isr;

try {

     isr = new InputStreamReader(inputStream, encoding);

} catch(UnsupportedEncodingException uee) {

    uee.printStackTrace();

}


查看完整回答
反對 回復(fù) 2019-10-17
  • 3 回答
  • 0 關(guān)注
  • 2884 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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