「java字符GBK」JAVA字符串去掉指定字符
今天给各位分享java字符GBK的知识,其中也会对JAVA字符串去掉指定字符进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、为什么java的默认编码不是utf-8 而是gbk
- 2、java默认的字符编码是unicode还是gbk
- 3、java中如何得到输入的汉字的GBK编码
- 4、Java中如何把GBK编码的字符串转成utf-8编码
- 5、java怎么把UTF-8字符串转成GBK字符串?
- 6、java 怎么判断编码是utf-8 还是gbk
为什么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字符串去掉指定字符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。