0. 字符
:大家平时看到的符号,用来组成某种句子、语言
如 A B 张三
1. 字符集
每一种语言都有一个字符集,如英语有26个字符.....
2. 编码字符集(数字的集合)
:一个编码字符集是一个字符集的的编码形式,即为每个字符分配一个唯一的数字
如 ASCII :分配128个字符
扩展ASCII:分配256个字符
Unicode:包括了全人类字符,全人类字符的编码是Unicdoe的一个子集
ASCII和扩展的ASCII、Unicode都是一种表示字符集的编码方式,(假设)如字符a 对应0101010.....
每个字符都有对应的唯一2进制
(字符集越大,需要的字节数就越多)
3. 代码 点
代码点:代码点就是数字的集合
编码字符集合:是有效的代码点集合,已经用于表示字符的数字
如:Unicode的编码字符集合是:U+0000 -- U+10FFFF
而这个编码字符集合可以看成是属于 0---2的32次方-1 代码点范围的集合的
总结:
字符---字符集--map number--编码字符集---utf-8 utf-9-...---字符编码后的数据
4. 字符编码方案( 如utf-8 utf-16 utf-32 )
注意:
一般我们说的Unicode实际是:UTF-16字符编码的Unicode
以Unicode( 是编码字符集 )为例
由于字符 a b c d等只需1个字节就可以保存,但Unicode为容纳所有的语言的字符集,统一使用32位来表示每个字符
这样在网络传输时 对只需1个字节表示的字符,造成了浪费
Unicode支持以下3种字符编码:
1. UTF-8 :这是HTML和协议常用的,这里把Unicode字符转换成一种长度可变的字节编码。与ASCII集对应的Unicode字符,采用8位来表示,并且转变成UTF-8的Unicode字符可以再许多现有的软件找使用,如大多数浏览器支持UTF-8字符编码
2. UTF-16 :把较为常用的字符采用16位的代码单元表示,其它的用32位
3.UTF-32 :采用32位来表示每个字符,不是很好的选择。
(具体看文档或百度)
或者这篇文章:
http://www.doc88.com/p-99650883920.html
String s = "\u03C0w\uD835\uDD6B\uD835\uDD6B"; System.out.println(s.length()); int codePointCount = s.codePointCount(0,s.length()); System.out.println(codePointCount); int index = 0; int cp = 0; for(int i =0;i<s.length();i++) System.out.println((int)s.charAt(i)); System.out.println("-----"); for(int i =0;i<codePointCount;){ index = s.offsetByCodePoints(0, i); System.out.println("index= "+index); cp = s.codePointAt(index); if(Character.isSupplementaryCodePoint(cp)){ System.out.println(cp+" i ="+i); i++; } else i++; }
发表评论
-
test
2015-11-02 13:16 489testestsetet -
java thread : select poll epoll
2015-02-16 16:42 1196Select/Poll函数 Selec()的3 ... -
java thread : IO模型
2015-02-16 15:33 873IO复用:select和poll函数 ... -
ssoYY: sso的跨域问题
2015-02-06 10:52 0dsfdsfsd -
交互的YY: 交互 解耦 关系 规则
2015-01-25 15:58 1124交互需要什么:对象,对象之间是怎么交互的(直接new 注入还 ... -
java thread : NIO -概念
2015-01-22 16:04 633通道-流:代表一种功能,能操作数据的方法(策略) 数据来 ... -
ThreadLocal 简单分析
2015-01-09 15:21 719ThreadLocal<T> 是一 ... -
java 多核理解
2014-11-18 13:10 809多核、超线程CPU时代 ... -
java_thread 隐藏的迭代器 java并发编程实践
2014-04-28 10:06 10055.1.3 隐藏迭代器 看容器源代码更清楚些 ... -
笔记1 java并发编程实践
2014-04-25 16:19 517同步 共享(shared)(多个线程访问)和可变(mutabl ... -
java_thread interrupt 理解
2014-04-25 13:18 872package com.java.util.con ... -
超越java-此书笔记
2012-12-24 15:23 878前言: SSH所带来的烦恼:重复的事情太多、XML配 ... -
为什么heap分配和清理内存可能会比栈的存储分配慢?
2012-06-12 12:49 0。。。。。。。。 -
泛型PS
2012-05-13 19:24 9161.使用泛型的时候,如果2边都使用了泛型,则2边必须一样// ... -
java中PS的几点
2012-05-13 18:33 10231.增强for循环只能取数 ... -
在java switch中使用String作为分支条件 (转)
2012-05-13 16:26 2249在java中明确规定switch里面只允许使用int,ch ... -
论java字符串池 (转)
2012-04-09 18:49 1110java运行环境有一个字符串池。比如String str= ...
相关推荐
NULL 博文链接:https://yintech.iteye.com/blog/406253
介绍一些比较常见的字符集以及字符编码,比如ASCII字符集、GBXXX字符集、BIG5字符集等等。还附带介绍如何判断字符集
那什么是字符呢?在计算机领域,我们把诸如文字、标点符号...这就涉及到字符编码的概念了,比如一个字符集有 8 个字符,那么用 3 个二进制位就可以完全表示该字符集的所有字符,也即每个字符用 3 个二进制位进行编码。
关于字符集和字符编码的研究,主要有字符集、编码的概念,GBK、UTF编码、ISO-8859等
Java字符集和编码 ,Java字符集和编码Java字符集和编码
字符集与字符集编码简介 我们知道,计算机只能识别诸如0101这样的...这就涉及到字符编码的概念了,比如一个字符集有8个字符,那么用3个二进制位就可以完全表示该字符集的所有字符,也即每个字符用3个二进制位进行编码。
字符集和编码, 原来是这样
文档中主要介绍了各类字符集以及相关的字符编码,字符的显示原理,从输入到显现的整个过程,程序中出现的乱码问题以及解决方案
GB 18030-2005 信息技术 中文编码字符集
GB18030-2005 信息技术 中文编码字符集,单双四字节所有字符,包含简繁生僻字。
字符集编码问题字符集编码问题字符集编码问题
GB-T 2312-1980 信息交换用汉字编码字符集 基本集
标准的现代维吾尔文字符集unicode编码表
GB 2312-1980 信息交换用汉字编码字符集 基本集
qt实现转换文件字符集编码
字符集编码查询/反查工具
标准的GBK字符集编码表,工具类文档必备
GB 18030-2000信息技术 信息交换用汉字编码字符集 基本集的扩充.PDF