在进行文件读写I/O的是,经常遇到一些类似,编码出错的情况,很是烦人。为什么会乱码,就要从编码说起。
1、编码之间的关系
编码关系
图中编码出现的顺序,可以看出编码也是一个逐渐进化与完善的过程;图中从上往下,下面的编码总是能兼容上面的编码;
2、常用编码2.1、ASCII编码
ASCII全称为 American Standard Code for Information Interchange,翻译为“美国信息交换标准代码”。它是世界上最早最通用的单字节编码系统,主要用来显示现代英语及其他西欧语言,不能表示中文成千上万个的单词。ASCII编码,8bit(一个字节),能表示的最大的整数就是255(2^8-1=255),由于ASCII 的编码最高位总是 0,所以只定义了128 个字符,用0 – 127用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。 还对一些如&39;,&39;,&&39;@&34;一只青羊&34; ");// & 0xff是为了把前面的24个0去掉只留下后八位
//toHexString这个函数是把字节(转换成了Int)以16进制的方式显示
String str1=new String;//这时会使用项目默认的编码来转换,可能出现乱码
要使用字节序列的编码来进行转换
String str2=new String;
byte[] bytes1=s.getBytes;//也可以用指定的编码
4、中文乱码问题
文本文件就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,那么该文件只认识ANSI编码(例如直接在电脑中创建文本文件)。Windows 操作系统默认的编码是 GBK,Linux 操作系统默认的编码是 UTF-8。中文乱码问题只要注意指定编码方式即可规避。
以上就是朝夕生活(www.30zx.com)关于“文件编码与中文乱码问题”的详细内容,希望对大家有所帮助!
文件编码与中文乱码问题
在进行文件读写I/O的是,经常遇到一些类似,编码出错的情况,很是烦人。为什么会乱码,就要从编码说起。 1、编码…
本文来自网络,不代表卡奇财经立场,转载请注明出处:https://www.hfhnjr.com/?p=83854