「java字符GBK」JAVA字符串去掉指定字符

博主:adminadmin 2023-03-21 07:39:10 589

今天给各位分享java字符GBK的知识,其中也会对JAVA字符串去掉指定字符进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

为什么java的默认编码不是utf-8 而是gbk

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

工具:

win7

jdk

方法:

在计算机上右键选择属性

点击高级系统设置

点击环境变量

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

java默认的字符编码是unicode还是gbk

windows下默认是就是gbk

可以通过eclipse的设置进行更改

在eclipse的项目上点击右键,选择Propertise,进行修改。如下图

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中如何把GBK编码的字符串转成utf-8编码

我先解释一下我对你的问题的理解

你的问题有点笼统

可以这么理解两个意思

,你是想吧一个gbk编码的字符串用utf-8格式来编码

String

s

=

new

String

("全国".getBytes("GBK"),"GBK");

虽然这个时候的s是GBK编码的

但是s还是中文字符的

所以

上面这位同胞用

new(s.getBytes("GBK"),"UTF-8")的方式肯定是错的

应该用

String

s1

=

new

String

(s.getBytes("UTF-8"),"UTF-8")

这样s1就是UTF-8编码的字符串了

二,如果是遇见乱码问题

比如

String

s

=

new

String

("全国".getBytes("GBK"),"GBK");

这样的s就是gbk编码的

现在你要把GBK格式的编码用UTF-8去编码

肯定就会出现乱码

String

s2

=

new

String(s.getBytes("GBK"),"UTF-8");

这个s2肯定是乱码的

而且这样就根本解不出来了

系统出现的乱码显示的时候才会出现编码错误

所以

一般出现乱码

只要把输入流换个编码解析一下就ok了

还有什么不明白

可以问我

java怎么把UTF-8字符串转成GBK字符串?

java不同编码之间进行转换,都需要使用unicode作为中转。

以utf-8转gbk为例,示例代码如下:

String t = "这是一个字符串aaa111";  

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);

java 怎么判断编码是utf-8 还是gbk

你是要判断字符还是判断文件的编码,若是字符:

String

str="123456";

String

type

=

"utf-8";

//更换这里进行其他编码判断

try

{

if

(str.equals(new

String(str.getBytes(type

),

type

)))

{

return

type;

}

}

catch

(Exception

e)

{

}

如果是文件,麻烦一些,可以使用一个开源项目cpdetector,这个我也没用过,你自己查一下吧

关于java字符GBK和JAVA字符串去掉指定字符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。