java字符编码详解_java字符编码详解

对于java字符编码你都了解吗?下面的文章要给大家介绍的就是java字符编码,对这个方面不是很清楚的小伙伴一起来了解一下吧。

在计算机当中,任何的文字都是以指定的编码方式存在的,在Java程序开发当中,最常见的是ISO8859-1、GBK/GB2312、Unicode、UTF编码。

Java中常见编码说明:

UTF-UTF编码兼容了ISO8859-1编码,同时也能够用来表示所有的语言字符,但是,UTF编码是不定长编码,每一个字符的长度为1~6个字节不等,一般在中文网页中使用此编码,可以节省空间。

GBK/GB2312-中文的国标编码,用来表示汉字,属于双字节编码,GBK能够表示简体中文和繁体中文,GB2312只可以表示简体中文,GBK兼容GB2312。

ISO8859-1-属于单字节编码,最多只可以表示0~255的字符范围。

Unicode-是一种编码规范,是为了解决全球字符通用编码而设计的,UTF-8和UTF-16是这种规范的一种实现,这个编码不兼容ISO8859-1编码,Java内部采用此编码。

在程序当中,假如对字符编码没有做好处理,那么就会出现乱码的问题,这就好比,本机的默认编码是GBK,可是,在程序当中使用了ISO8859-1编码,那么,就会出现字符的乱码问题。

本地的默认编码可以使用System类查看,Java当中System类能够取得与系统有关的信息,所以直接使用此类可以找到系统的默认编码,方法:public static Properties getProperty()

使用上面的方法就可以查看JVM的默认编码,代码:public static void main(String[] args)

{

// 获取当前系统编码

System.out.println("系统默认编码:" + System.getProperty("file.encoding"));

}

运行结果:系统默认编码:GBK

可以知道,目前,操作系统的默认编码是GBK。

下面的话,就来通过一个例子来讲解一下乱码的产生。

目前,本地的默认编码是GBK,下面通过ISO8859-1编码对文字进行编码转换,假如,要实现编码的转换可以使用String类中的getBytes(String

charset)方法,这个方法能够设置指定的编码,方法的格式:public byte[] getBytes(String charset);

示例代码:public class Test

{

public static void main(String[] args) throws Exception

{

File f = new File("D:" + File.separator + "test.txt");

// 实例化输出流

OutputStream out = new FileOutputStream(f);

// 指定ISO8859-1编码

byte b[] = "C语言中文网,你好!".getBytes("ISO8859-1");

// 保存转码之后的数据

out.write(b);

// 关闭输出流

out.close();

}

}

运行结果:

1962505a8e792390170a033ade3f02ca.png

可以发现的是,因为编码不一致,所以,在保存的时候就出现了乱码问题,在Java开发当中,乱码是一个很常见的问题,那么导致乱码出现的原因也就只有一个,那就是输出内容的编码和接收内容的编码不一致。

对于java字符编码你都清楚了吗?更多java入门内容,请继续关注奇Q工具网来进行了解吧。

推荐阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值