java-编码解密
来源:互联网 发布:国内 阿里云 aws 优势 编辑:程序博客网 时间:2024/05/15 23:50
- ASCII
ASCII是American Standard code for Information Interchange,美国信息交换标准代码。
7位来表示一个字符,共计可以表示128种字符,对于英文这种语言时可以胜任的。随时计算机广泛的使用,ASCII无法完全表示所有的字符,随之ISO-8859-1字符集就应运而生
- ISO-8859-1
8位表示一个字符,即一个字节(byte)(8 bit)来表示一个字符,共可以表示256个字符。ISO-8859-1完全兼容ASCII编码集。然后随后发展过程中,类似中文这种语言的广泛性,ISO-8859-1是无法满足
- gb2312
国标字符集,对所有的汉字重新进行编码,每一个汉字都有一个对应的表示,2个字节表示一个汉字,基本上可以胜任中文
- gbk
对gb2312的一种扩展,例如生僻字等的表示,完全兼容gb2312
- gb18030
基于上述的另一个延生,基本上能够对中文简体有很好的支持
- big5
繁体中文的一种编码方式。
- unicode
由此对于所有国家都需要有对应的编码集,显然是不合理的。因此统一产生了unicode这种编码方式,采用两个字节来表示一个字符。能够有256x256种。采用了unicode之后,存储的容量会大大增加。对于西方英文是大材小用,因此这种编码方式并不适合存储。
- utf
unicode Translation Format
unicode是一个编码方式,而utf是一种存储方式。utf-8/utf-16等是Unicode的实现方式之一。
对于utf-16来说有两种方式,utf-16le(little endian),utf-16be(big endian),对于一些系统的文件,开头会有一个隐藏不可见的字符来表示这两种形式,称为Zero Width No-Break Space,如果后面跟着0xFEFF(BE,FF大于FE1),反之如果是0XFFFE(LE)。utf-16也是两个字节来表示一个字符,也存在浪费。
utf-8变长字节表示形式。对于不同的字符有不同的字节来表示,例如中文是通过3个字节来表示。针对utf-8会有一个BOM(Byte Order Mark),这个头是windows系统兼容性问题产生的,在windows下将utf-8的文件转化成16进制可以看到上述Zero Width No-Break Space标识。
对于一个文件,进行一种其他编码格式的解码(前提是支持这种字符表示),然后用这种编码格式编码然后写回原原件格式是可以做到不乱码的,尽管中间的过程是乱码的,但是结果可以表现出正常。
阅读全文
0 0
- java-编码解密
- JS及JAVA编码加密解密
- 【java编程】字符编码之加密解密
- java加密解密和编码转换
- JAVA中Base64编码加密解密源码
- [JAVA加解密]DES,AES,Base64编码,PBE
- Java基础之加解密(一) base64编码使用
- java 中字符串加密解密 字符编码转换 有利于url 的加密和解密
- js 编码 js 解密
- base64编码 解密
- JavaBase64编码 加密解密
- ctf编码,解密总结
- 编码,加解密,签名,Hash
- jsp,java中文乱码问题另类解决方案,jni加密、解密编码
- Java和Objective-C中字符编码及DES加密解密
- ArcFour加密解密,java RC4加密解密,java 加密解密
- 解密不同编码的的参数
- 未解决的加密解密编码问题?
- 无法启动程序 系统找不到指定的文件
- HTTP请求代理
- 【python图像处理】python绘制饼状图
- 海量数据面试题目
- 有点累了?不如看看兵法三十六计。
- java-编码解密
- 在android系统中开发DLNA
- 3dMax第四章:三维物体修改操作
- java--继承(2)
- java脚本
- Jzoj1306 Sum
- hdu 5546 Ancient Go(bfs+模拟)
- Java 静态分派与动态分派
- kafka集群broker节点扩容方案