所谓编码 即char->byte

所谓解码 即byte->char


ISO-8859-1 中文字符会被黑洞吸收 全部变为"?"

GB2312 汉字可以被编码为双字节 但是该标准仅仅支持6763个汉字 且char到byte需要查表

GBK 与GB2312基本相同 只不过包含更多的汉字

UTF-16 将char强行拆成两个字节 不存在的部分写00  规则简单 编码效率高 缺点浪费了部分存储空间 且一个汉字拆为三个字节

其中一个字符码损坏 后面会受影响 适合在本地磁盘和内存之间使用 不适合网络传输(易损坏字节流 数据经过网络传输时都是以字节为单位的

UTF-8 对单字节范围内的字符仍然使用1个字节表示,对汉字则采用3个字节表示 更适合在网络传输  且UTF-8在编码效率上和编

码安全性上做了平衡,是理想的中文编码方式

UTF-16 UTF-8都是处理Unicode编码


当采用压缩算法对字符进行压缩时候,不能仅仅看字符数量的减少(这是没意义的),而要重点关注最终的字节数,这还取决于选择的编码方式。

JAVA基础---编码解码的更多相关文章

  1. Java Base64编码解码实现

    我尝试过两种方式:java自带的sun.misc的工具类,还有commons-codec.jar 1.sun.misc的工具类 String encoderStr = null; BASE64Enco ...

  2. Java Base64 编码解码方案总结

    Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便.在实际应用上,Base64除了能将Binary资料可视化之外 ...

  3. java base64编码解码

    第一种.DatatypeConverter 使用JDK自带DatatypeConverter.java类实现,JDK版本必须>=1.6 /** * @Description base64编码 * ...

  4. java URI 编码解码

    import java.io.UnsupportedEncodingException; /** * url转码.解码 */ public class UrlUtil { private final ...

  5. 常用的js、java编码解码方法

    前言 前后端直接传输数据进行交互不就行了吗,为什么还要进行编码解码?正常情况下直接交互没问题,但当有类似以下情况出现时就需要进行编码再进行传输: 1.编码格式难以统一,导致数据交互过程出现中文乱码等问 ...

  6. java基础52 编码与解码

    1.解码与编码的含义 编码:把看得懂的字符变成看不懂的码值,这个过程就叫编码    解码:根据码值查到相对应的字符,我们把这个过程就叫解码 注意:编码与解码时,我们一般使用统一的码表,否则非常容易出现 ...

  7. android Java BASE64编码和解码二:图片的编码和解码

    1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...

  8. Java基础-二进制以及字符编码简介

    Java基础-二进制以及字符编码简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必计算机毕业的小伙伴或是从事IT的技术人员都知道数据存储都是以二进制的数字存储到硬盘的.从事开 ...

  9. 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换

    原文出自:http://www.blogjava.net/pengpenglin/archive/2010/02/22/313669.html 在很多论坛.网上经常有网友问" 为什么我使用 ...

随机推荐

  1. PyQt4简单小demo

    #coding=utf-8 import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class FontPropertiesDl ...

  2. python 关于列表的增删改查及个别的命令

    names = ["a","b","c","d","e","e","a ...

  3. if处理多分支结构

    实例1 import java.util.Scanner; /** * Created by liwenj on 2017/7/17. */ public class test7 { public s ...

  4. APPIUM 输入中文 之套路

    java  appium 在Capabilities 中添加 capabilities.setCapabilities("unicodeKeyboard",true);和 capa ...

  5. SSH2项目网上书店系统手把手教学_Struts2+Spring+Hibernate整合开发

    一 序言 鉴于目前J2EE的火热程度,SSH2是每个学生毕业前都必须掌握的一门技术,所以在这里我就使用SSH2技术做一个小型项目,和大家一起学习. SSH2技术的基础概论就不再提了,直接说特点吧. 1 ...

  6. 为测试赋能,腾讯WeTest探索手游AI自动化测试之路

    作者:周大军/孙大伟, 腾讯后台开发 高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处.  WeTest导读 做好自动化测试从来不件容易的事情,更何况是手游的自动化测试,相比传 ...

  7. Arrays和Collections 对于sort的不同实现原理

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp46 1.Arrays.sort() 该算法是一个经过调优的快速排序,此算法 ...

  8. oracle12之 多租户容器数据库架构

    解读: 这张幻灯片展示了三个被部署的应用程序的整合 三个不同的非cdbs成为一个单一的.幻灯片中的图形显示了一个多租户 容器数据库有四个容器:根和三个可插入的数据库.每一个 可插入数据库有它自己的专用 ...

  9. a链接易混淆与form表单简易验证用法详解

    链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道& ...

  10. Http协议详解,获取doPost,doGet提交的数据,以及编码问题

    一 什么是Http协议 http协议: 浏览器客户端 和  服务器端 之间数据传输的格式规范 二 如何查看Http协议的内容 1)使用火狐的firebug插件(右键->firebug->网 ...