编码表

常见的编码表:

ASCII 美国标准信息交换码,用一个字节的7位表示

ISO-8859-1  拉丁码表,欧洲码表,用一个字节的全部8位表示

GB2312:中国的中文码表

GBK:GB2312的升级,融合了更多的中文文字符号

Unicode:国际标准码,融合了多种文字,所有文字都是使用两个字节来表示,java就是使用Unicode编码表

UTF-8:最多用三个字节来表示一个字符。如果能用一个字节来装,就使用一个字节,一个装不下,就用两个字节,最多三个字节

string s="你好";

byte[] buf=s.getBytes("GBK");// -60 -29 -70 -61  你好的GBK编码

byte[] buf=s.getBytes("UTF-8");// -28 -67 -96 -27   -91  -67  你好的UTF-8编码

//编码;
byte[] buf = str.getBytes("UTF-8");

//解码:
String s1 = new String(buf,"UTF-8");

乱码问题,类似tomcat里。

String str = "谢谢";

byte[] buf = str.getBytes("gbk");//使用GBK进行编码

String s1 = new String(buf,"UTF-8");//解码的时候使用了utf-8,出现乱码

解决办法是获取utf-8对应的字节值,然后再使用GBK解码就可以了,Tomcat就是这样做的。

byte[] buf2 = s1.getBytes("UTF-8");//获取源字节.
 
String s2 = new String(buf2,"GBK");//s2就是  谢谢

在java中"abcd"与"ab你好"的长度是一样的,都是四个字符,但是对应的字节数是不一样的。一个汉字两个字节。

时间: 2024-11-08 23:28:20

编码表的相关文章

UniCode编码表

Unicode编码则是采用双字节16位来进行编号,可编65536字符,基本上包含了世界上所有的语言字符,它也就成为了全世界一种通用的编码,而且用十六进制4位表示一个编码,非常简结直观,为大多数开发者所接受,特别是十六进制编码后,可以解决汉字在js再编码过程中出现乱码问题,提高解释速度,我们建议在js脚本中使用十六进制unicode编码. UniCode汉字转换,网上很多,但相对比较好使的比较少,大都写法一样,转换的效果差别不大,或多或少有些遗憾,我这找到个相对较好的,能直接转换标点符号的转换器.

Unicode其实是Latin1的扩展。只有一个低字节的Uncode字符其实就是Latin1字符——附各种字符编码表及转换表

一.概念 1,ASCII ASCII(American Standard Code for Information Interchange),中文名称为美国信息交换标准代码.是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统.ASCII码又分为标准ASCII码和扩展ASCII码. 标准ASCII码.标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9.标点符号, 以及在美式英语中使用的特殊控制字符.

常见的编码表

2014.9.2 这一部分是相当重要的, ASCII 美国标准信息交换码 用一个字节的7位可以表示,最高位是0 ISO8859-1 拉丁码表,欧洲码表. 兼容ASCII(高位为0) 用一个字节的8位来表示,最高位为1. GB2312 (两个字节)中国的中文编码表.两个字节,高位全是1.兼容ASCII.(高位为0,一个字节表示ASCII) GBK    (两个字节)中国的中文编码表升级,融合了更多的中文文字符号. 兼容ASCII UTF-8   (有标识头) 编码表,是Unicode的编码方式.

URL编码表,URL编码大全

url编码是一种浏览器用来打包表单输入的格式. 定义 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器.不管哪种情况,在服务器端的表单输入格式样子像这样:theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes 编码规则 URL编码遵循下列规则: 每对na

ASCII编码表

十六进制 ASCII编码表 竖列表示高4位编码,横行表示低4位编码. hex 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 nul soh stx etx eot enq ack bel bs tab lf vt ff cr so si 1 dle dc1 dc2 dc3 dc4 nak syn etb can em sub esc fs gs rs us 2 ! " # $ % & ' ( ) * + , - . / 3 0 1 2 3 4 5 6 7 8 9 :

黑马程序员-常见的一些流和编码表

对象的序列化(对象要实现Serializable序列化接口,类似实现comparable ) 1.操作对象的流:ObjectOutputStream ObjectInputStream ObjectOutputStream : 将 Java对象的基本数据类型和图形写入 OutputStream. 通过在流中使用文件可以实现对象的持久存储. 构造函数:ObjectOutputStream(OutputStream out)//初始化时要有目的 方法: writeObject(Object obj)

URL编码表 Base64编码表 HTTP消息含义

URL编码表 backspace 8% A 41% a 61% § %A7 ? %D5   tab 9% B 42% b 62% ? %AB ? %D6   linefeed %0A C 43% c 63% ? %AC ? %D8   creturn %0D D 44% d 64% ˉ %AD ù %D9   space 20% E 45% e 65% o %B0 ú %DA   ! 21% F 46% f 66% ± %B1 ? %DB   " 22% G 47% g 67% a %B2 ü

编码表的概述和常见编码表

引出编码表: 我们知道,初学IO的时候使用字节流的read()针对中文操作输出的时候可能出现中文乱码.这是为什么呢?因为myeclipes在默认情况下,使用的编码表示ASCII表,中文是两个字节存储的,ASCII表示一个字节代表一个字符,强行将中文拆分成两个字节进行解析就会找不到对应字符出现?或者找到的字符不可能是中文的.ASCII码讲中文拆分成两个字节.第一个字节的对应位置一定是负数,第二个常见是负数,可能是正数. 编码表: 由现实世界的字符和其对应的数值组成的一张表,用来解析和转换各种字符

黑马程序猿——26,基本数据操作流,字节数组操作流,转换流,编码表

-----------android培训.java培训.java学习型技术博客.期待与您交流! ------------ 黑马程序猿--26, DataInputStream,DataOutputStream, ByteArrayInputStream,ByteArrayOutputStream, InputStreamReader,OutputStreamWriter,编码表 /* DataInputStream和DataOutputStream 能够更加操作基本数据类型的流 注意这里是Dat