Java實現將ASCII碼轉化爲中文顯示和將ASCII編碼的HTML文件轉化爲中文的HTML文件

 今天就在開發過程中遇到的問題,給大家分享一下將ASCII碼轉化爲中文顯示的例子。

    /**
     * ASCII轉換爲字符串
     */
    public static void transAscii2Chinese() throws UnsupportedEncodingException {

        // ASCII碼
        String string = "25226 32593 32447  21644 30005 28304 32447 36208 22909 32447 36335 65292 22914 19979 22270 25152 31034";

        // 按照空格(Space按鈕)和製表鍵(Tab按鈕 )進行拆分,無論中間有多少個空格
        String[] str = string.split("\\s+");

        System.out.println("***********************************ASCII---->中文***********************************");

        String ch = "";
        for (int i = 0; i < str.length; i++) {
            ch += (char) Integer.parseInt(str[i]);
        }

        System.out.println("轉化後的中文爲: " + ch);

    }

 在這裏提示一下split如何按空白、一個空格、多個空格或者製表符拆分:

 1.  String[] str = string.split(" ");  括號中有一個空格,表示按照一個空格拆分。
 2.  String[] str = string.split(" + ");  括號中的加號前後都有一個空格,表示按照多個空格拆分。
 3.  String[] str = string.split("\\s+");  加號後面沒有空格表示按照製表符或者多個空格拆分。

在這裏插入圖片描述 以上基本就是簡單實現ASCII轉化爲中文了。若後端需要將ASCII格式的HTML文件轉化爲中文返回給前端該如何辦了?
 例如,有這麼樣的一個頁面:
在這裏插入圖片描述
 假設文本爲:

&#12289;&#22914;&#26524;&#26159;&#29627;&#29827;&#22681;&#38754;&#65292;&#30452;&#25509;
&#25226;&#24213;&#24231;&#40655;&#22312;&#29627;&#29827;&#19978;&#23601;&#21487;&#20197;
&#20351;&#29992;&#65292;&#22914;&#26524;&#26159;&#38075;&#22681;&#65292;&#38656;&#35201;
&#23433;&#35013;&#19968;&#20010;&#30340;&#26126;&#32447;&#26263;&#32447;&#30418;&#23376;
&#65292;&#23433;&#35013;&#27493;&#39588;&#31867;&#20284;&#65292;&#25226;&#32771;&#21220;
&#26426;&#24213;&#24231;&#20808;&#22266;&#23450;&#22312;&#30340;&#30418;&#23376;&#19978;
&#65292;&#28982;&#21518;&#20877;&#25226;&#32771;&#21220;&#26426;&#22266;&#23450;&#22312;
&#24213;&#24231;&#19978;&#12290;

 這種情況又該如何轉化爲中文顯示了,此時就需要用到Apache的一個工具。在Maven中加入依賴。

<!-- https://mvnrepository.com/artifact/org.apache.commons/org.apache.commons.lang -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>org.apache.commons.lang</artifactId>
    <version>2.4.0</version>
</dependency>

 轉化代碼:

import org.apache.commons.lang.StringEscapeUtils;

/**
 * 描述: 利用Apache工轉化ASCII編碼文件爲中文
 * 
 * @since 2019年11月13日 下午7:11:07
 * @author
 */
public class ASCIITrans {

    public static void main(String[] arg) {
		//轉化示例字符串
        String str = "&#12289;&#22914;&#26524;&#26159;&#29627;&#29827;&#22681;&#38754;&#65292;&#30452;&#25509;&#25226;&#24213;&#24231;&#40655;&#22312;&#29627;&#29827;&#19978;&#23601;&#21487;&#20197;&#20351;&#29992;&#65292;&#22914;&#26524;&#26159;&#38075;&#22681;&#65292;&#38656;&#35201;&#23433;&#35013;&#19968;&#20010;86&#30340;&#26126;&#32447;/&#26263;&#32447;&#30418;&#23376;&#65292;&#23433;&#35013;&#27493;&#39588;&#31867;&#20284;&#65292;&#25226;&#32771;&#21220;&#26426;&#24213;&#24231;&#20808;&#22266;&#23450;&#22312;86&#30340;&#30418;&#23376;&#19978;&#65292;&#28982;&#21518;&#20877;&#25226;&#32771;&#21220;&#26426;&#22266;&#23450;&#22312;&#24213;&#24231;&#19978;&#12290;";

		//調用組件方法,執行轉化
        String s = StringEscapeUtils.unescapeHtml(str);
		
		//轉化結果
        System.out.println(s);

    }

}

 運行圖示:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章