获取文件编码格式 java_java实现获取文本文件的字符编码

本文介绍了Java如何获取文本文件的字符编码,包括认识字符编码、Java中的默认编码,以及通过读取文件头部字节判断编码格式的示例代码。通过示例代码展示了如何避免因编码不匹配导致的乱码问题。
摘要由CSDN通过智能技术生成

af8e1eb9cdfaa1e83d04a6cf44ab2c08.png

一、认识字符编码:

1、Java中String的默认编码为UTF-8,可以使用以下语句获取:Charset.defaultCharset();

2、Windows操作系统下,文本文件的默认编码为ANSI,对中文Windows来说即为GBK。例如我们使用记事本程序新建一个文本文档,其默认字符编码即为ANSI。

3、Text文本文档有四种编码选项:ANSI、Unicode(含Unicode Big Endian和Unicode Little Endian)、UTF-8、UTF-16

4、因此我们读取txt文件可能有时候并不知道其编码格式,所以需要用程序动态判断获取txt文件编码。

ANSI :无格式定义,对中文操作系统为GBK或GB2312

UTF-8 :前三个字节为:0xE59B9E(UTF-8)、0xEFBBBF(UTF-8含BOM)

UTF-16 :前两字节为:0xFEFF

Unicode:前两个字节为:0xFFFE

例如:Unicode文档以0xFFFE开头,用程序取出前几个字节并进行判断即可。

5、Java编码与Text文本编码对应关系:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值