javagbk,JAVAgbk转中文

本文目录一览:

java 怎么gbk转码utf-8

方法一:

思路:先转为Unicode,然后转为GBK

String utf8 = new String(t.getBytes( “UTF-8”));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),”UTF-8″);   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes(“GBK”));  

  

System.out.println(gbk);

方法二:

public static void main(String[] args) {

        String str=”字符串编码转换”;

        try {

          byte[] temp=str.getBytes(“utf-8”);//这里写原编码方式

            byte[] newtemp=new String(temp,”utf-8″).getBytes(“gbk”);//这里写转换后的编码方式

            String newStr=new String(newtemp,”gbk”);//这里写转换后的编码方式

            System.out.println(newStr);

        } catch (UnsupportedEncodingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

java中GBK编码格式转成UTF8,用一段方法实现怎么做

java中GBK编码格式转成UTF8编码格式的方法如下:

    public static void main(String[] args) throws Throwable {

        String errStr = “errStr”;

        System.out.println(recover(errStr));

    }

    public static String recover(String str) throws Throwable {

        return new String(str.getBytes(“GBK”), “UTF-8”);

    }

其中errStr就是乱码字符串,按照相反的顺序在编码(用gbk)、解码(用utf-8)回去,就能得到正确的字符串.

    GBK、UTF-8是一种“编码格式”,是用来序列化或存储“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 除了格式不一样之外,所关心的unicode编码范围也不一样,utf-8考虑了很多种不同国家的字符,涵盖整个unicode码表,所以其存储一个字符的编码的时候,使用的字节长度也从1字节到4字节不等;而GBK只考虑中文——在unicode中的一小部分——的字符,的编码,所以算好了只要2个字节就能涵盖到绝大多数常用中文(2个字节能表示6w多种字符),所以存储一个字符的时候,所用的字节长度是固定的;

java中怎么显示GBK?

public static void main(String[] args){

        try {

            String a = “肖”;

            byte[] b = a.getBytes(“GBK”);

            for(byte bt: b){

                System.out.println(Integer.toHexString(bt));

            }

        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();

        }

    }

输出结果:

ffffffd0

ffffffa4

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的默认编码不是utf-8 而是gbk

因为系统是中文语言的,得到的是GBK编码,所以肯定不是utf的。

工具:

win7

jdk

方法:

在计算机上右键选择属性

点击高级系统设置

点击环境变量

在系统变量中点新建,输入变量名为: JAVA_TOOL_OPTIONS, 变量值为:-Dfile.encoding=UTF-8,确定就可以了。

在java中gbk怎么转utf8编码

java中,编码是字节转字符的时候产生的不同映射造成的差异。那我们就可以利用这一点实现。例如,我们有一个gbk编码格式的字符串,那我们先把它的字节得到。

String s = “abc”;

byte[] b = s.getBytes();

再将其转为需要的编码格式。如utf-8

String newStr = new String(b,”utf-8″)

binggo~!!

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 17:40
下一篇 2024-12-14 17:40

相关推荐

  • Python读取中文

    Python是一种高级编程语言,被广泛地应用于各种领域中。而处理中文数据也是其中重要的一部分。本文将介绍在Python中如何读取中文,为大家提供指导和帮助。 一、读取中文文件 在P…

    编程 2025-04-29
  • jQuery Datatable分页中文

    jQuery Datatable是一个非常流行的数据表插件,它可以帮助您快速地在页面上创建搜索、过滤、排序和分页的数据表格。不过,它的默认设置是英文的,今天我们就来探讨如何将jQu…

    编程 2025-04-29
  • Python计算中文字符个数

    本文将从多个方面对Python计算中文字符个数进行详细的阐述,包括字符串长度计算、正则表达式统计和模块使用方法等内容。 一、字符串长度计算 在Python中,计算字符串长度是非常容…

    编程 2025-04-29
  • Python3乱码转中文

    本文将详细介绍如何转换Python3中的乱码为中文字符,帮助Python3开发工程师更好的处理中文字符的问题。 一、Python3中文乱码的原因 在Python3中,中文字符使用的…

    编程 2025-04-29
  • 从16进制转义到中文字符

    16进制转义是为了在不同的字符集、不同的编码下,能够保证特殊字符被正确的识别和渲染。本文将从多个方面对16进制转义做详细的阐述,让读者对其有更深入的了解。 一、转义实现 在Web开…

    编程 2025-04-28
  • opendistroforelasticsearch-kibana的中文应用

    本文将介绍opendistroforelasticsearch-kibana在中文应用中的使用方法和注意事项。 一、安装及配置 1、安装opendistroforelasticse…

    编程 2025-04-28
  • Python IDLE如何设置中文运行环境

    Python IDLE是Python的集成开发环境,使用它可以方便地编写、调试和执行Python程序。但是,默认情况下Python IDLE的运行环境是英文环境,如果需要在Pyth…

    编程 2025-04-27
  • Python 中文转URL编码

    本文将从以下几个方面详细阐述Python中实现中文转URL编码的方法及注意事项。 一、URL编码概述 URL编码也称为百分号编码,是一种将URL中的非ASCII字符转换成“%”后加…

    编程 2025-04-27
  • 如何用Python输出两行中文字符

    在此篇文章中,我们将探讨如何使用Python输出两行中文字符。具体而言,我们将从以下几个方面进行阐述: 一、Python中文输出的基础知识 在开始探讨如何输出中文字符之前,我们需要…

    编程 2025-04-27
  • Python3.8中文文档解读

    Python 是一种解释型语言、面向对象、动态数据类型的高级语言。 本篇文章旨在详细阐述 Python3.8 中文文档,从各个方面深入剖析 Python 的优势,包括基础语法、文件…

    编程 2025-04-25

发表回复

登录后才能评论