「java汉字编码」java代码汉字乱码

博主:adminadmin 2023-03-18 04:26:06 442

本篇文章给大家谈谈java汉字编码,以及java代码汉字乱码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中如何把汉字转成这种编码格式\u8BA8\u8BBA\u533A

最简单的办法就是使用apache commons lang的库,

下载commons-lang3-3.3.2-bin.zip,把里面的commons-lang3.jar包含到classpath,通过StringEscapeUtils类来实现。

import org.apache.commons.lang.StringEscapeUtils;

public class StringCodec {

    public static void main(final String[] args) {

        final String result = StringEscapeUtils.escapeJava("汉字");

        System.out.println(result);

        return;

    }

}

java 怎么把汉字转换成utf-8编码

汉字都需要用三字节UTF-8解码格式,也就是1110XXXX10XXXXXX10XXXXXX其中x为汉字Unicode二进制码的前四位,中六位和后六位,分别提取出来,再组进格式里就完成了转码

java中如何得到输入的汉字的GBK编码

/*

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 */

package cn.timecd.gyhhy.mscup;

import java.io.UnsupportedEncodingException;

import java.nio.charset.Charset;

import java.util.Arrays;

import java.util.logging.Level;

import java.util.logging.Logger;

/**

 * 主要涉及到 String 类的 getBytes 方法

 * @author 32798

 */

public class Test {

    public static void main(String[] args){

        // 预定义常量

        String charset = "gbk";// 编码

        

        // 请注意,找不到编码集的时候,下面这句代码 会抛出

        // java.nio.charset.UnsupportedCharsetException

        Charset charset$ = Charset.forName(charset); // 获取编码集

        // 只是阅读: 两个 变量名字 比较, 请注意区分

        // charset

        // charset$

        

        // 从 string 转 bytes

        String str = "这是一个测试文本";

        try {

            // 方法一: 直接通过 编码集的名字 转码

            // 需要 try-catch

            // 当字符集找不到时会抛出 java.io.UnsupportedEncodingException

            System.out.println(Arrays.toString(str.getBytes(charset)));

        } catch (UnsupportedEncodingException ex) {

            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

        }

        // 方法二: 通过 编码集(java.nio.charset.Charset) 转码

        // 不需要 try-catch

        System.err.println(Arrays.toString(str.getBytes(charset$)));

        try {

            Thread.sleep(200); // 只是为了让 ide 能按顺序输出

        } catch (InterruptedException ex) {}

        

        // 从bytes 转 string

        //byte[] bytes = {-78, -35, -60, -32, -62, -19};

        byte[] bytes = str.getBytes(charset$);// 只是为了获取测试文本的 gbk 码

        System.out.print("\n\n\n"); // 隔出3行, 免得跟之前的输出混淆

        try {

            // 方法一: 通过 编码集名字 新建一个 string

            // 需要 try-catch

            // 当字符集找不到时会抛出 java.io.UnsupportedEncodingException

            System.out.println(new String(bytes, charset));

        } catch (UnsupportedEncodingException ex) {

            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

        }

        // 方法二: 直接通过 字符集 新建一个 string

        System.err.println(new String(bytes, charset$));

    }

}

java汉字编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码汉字乱码、java汉字编码的信息别忘了在本站进行查找喔。