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

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

由于工程量較大,將工程的編碼全部轉(zhuǎn)換并不現(xiàn)實(shí)吧?

由于工程量較大,將工程的編碼全部轉(zhuǎn)換并不現(xiàn)實(shí)吧?

一只甜甜圈 2023-04-20 19:15:31
有這么個(gè)問(wèn)題,合作公司給我們提供了一個(gè)jar包(不能改動(dòng)),我們根據(jù)其提供的一個(gè)方法來(lái)獲取返回的String型的xml信息,對(duì)方使用的是gbk編碼格式,而我們的工程使用的是utf-8。 在測(cè)試環(huán)境下,我獲取了返回的xml后用 new String(strXml.getBytes("gbk"), "utf-8") 轉(zhuǎn)換后還是亂碼,但是將 eclipse->Window->General->Content Types->Java Source File的編碼由utf-8改為gbk后,返回的strXml即為正常的漢字,沒(méi)有亂碼。請(qǐng)問(wèn)哪位高手碰到過(guò)類(lèi)似問(wèn)題,如何將其編碼轉(zhuǎn)換為utf-8. 
查看完整描述

2 回答

?
POPMUISE

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

你們的工程雖然用的是utf8,但是單個(gè)文件可以改動(dòng)編碼。

查看完整回答
反對(duì) 回復(fù) 2023-04-23
?
RISEBY

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

public static String GBK2UTF8(String gbkStr) {  

        try {  

            return new String(gbk2utf8(gbkStr), "UTF-8");  

        } catch (UnsupportedEncodingException e) {  

            throw new InternalError();  

        }  

    }  

  

    private static byte[] gbk2utf8(String gbkStr) {  

        int n = gbkStr.length();  

        byte[] utfBytes = new byte[3 * n];  

        int k = 0;  

        for (int i = 0; i < n; i++) {  

            int m = gbkStr.charAt(i);  

            if (m < 128 && m >= -128) {  

                utfBytes[k++] = (byte) m;  

                continue;  

            }  

            String word = Integer.toBinaryString(m);  

  

            StringBuilder sb = new StringBuilder();  

            int len = 16 - word.length();  

            sb.append("1110");  

            for (int j = 0; j < len; j++) {  

                sb.append("0");  

            }  

            sb.append(word);  

            sb.insert(8, "10");  

            sb.insert(16, "10");  

  

            String s1 = sb.substring(0, 8);  

            String s2 = sb.substring(8, 16);  

            String s3 = sb.substring(16);  

  

            byte b0 = Integer.valueOf(s1, 2).byteValue();  

            byte b1 = Integer.valueOf(s2, 2).byteValue();  

            byte b2 = Integer.valueOf(s3, 2).byteValue();  

            utfBytes[k++] = b0;  

            utfBytes[k++] = b1;  

            utfBytes[k++] = b2;  

        }  

        if (k < utfBytes.length) {  

            byte[] tmp = new byte[k];  

            System.arraycopy(utfBytes, 0, tmp, 0, k);  

            return tmp;  

        }  

        return utfBytes;  

    }  


查看完整回答
反對(duì) 回復(fù) 2023-04-23
  • 2 回答
  • 0 關(guān)注
  • 433 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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