首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字符,字符集,字符编码

字符,字符集,字符编码  简书郭文圣 现在Unicode已然一统天下,我想很多年轻的程序员可能都没遇到过编码问题,更不用说了解编码的发展了。...字符集是字符组成的集合,通常以二维表的形式存在,二维表的内容和大小是由使用者的语言而定,是英语,是汉语,还是阿拉伯语。 字符编码是把字符集中的字符编码为特定的二进制数,以便在计算机中存储。...字符集和字符编码一般都是成对出现的,如ASCII、IOS-8859-1、GB2312、GBK,都是即表示了字符集又表示了对应的字符编码,以后统称为编码。...要彻底解决这个问题,替代原先基于语言的编码系统,就需要一个通用的字符集UCS(Universal Character Set)和一个通用的字符编码Unicode。...参考:关于常用的字符集和编码     (一个好看的故事)

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java字符集

    ;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。...在中文平台下,如果指定的字符集编码是ISO-8859-1,由于此字符集是单字节编码,所以使用getBytes("ISO-8859-1")时,每个字符只取一个字节,每个汉字只取到了一半的字符。...另外一半的字节丢失了。由于这一半的字符在字符集中找不到对应的字符,所以默认使用编码63代替,也就是?。...结论:相同的平台下,同一个中文字符,在不同的编码方式下,得到的是完全不同的字节数组。这些字节数组有可能是正确的(只要该字符集支持中文),也可能是完全错误的(该字符集不支持中文)。...FileWriter是字符流输出流,而OutputStreamWriter是字节流输出流在中文平台下,如果使用FileWriter,不论你如何设置字符集都不会起作用。因为它采用的是默认的系统字符集。

    2.2K50

    字符集和字符编码

    6、一些概念与术语解释: 6.1 字符集(Character Set) 字面上的理解就是字符的集合,例如ASCII字符集,定义了128个字符;GB2312定义了7445个字符。...而计算机系统中提到的字符集准确来说,指的是已编号的字符的有序集合(不一定是连续)。 6.2 字符码(Code Point) 指的就是字符集中每个字符的数字编号。...例如ASCII字符集用0-127这连续的128个数字分别表示128个字符;GBK字符集使用区位码的方式为每个字符编号,首先定义一个94X94的矩阵,行称为“区”,列称为“位”,然后将所有国标汉字放入矩阵当中...因此如果你的PHP文件是采用带BOM标记的UTF-8进行编码的,那么有可能会出现问题。 6.8 Unicode编码和以前的字符集编码有什么区别? 早期字符编码、字符集和代码页等概念都是表达同一个意思。...7、总结 字符集定义了一组字符,编码定义了如何来表示字符集中的字符(是不是有点类似抽象类与实现类的关系呢?)。

    1.1K40

    MySQL字符集

    MySQL之字符集 字符集介绍 gbk/gb2312 gbk/gb2312 采用双字节字符集,不论中、英文字符均使用双字符来表示,为了区分中文,将其最高位都设定成1 gb2312是gbk的子集,gbk...是gb18030的子集,gb2312仅能存储简体中文字符 gbk包括中日韩字符的大字符集 通常使用gbk字符集足够 国际通用性比utf8差,不过utf8占用的数据库比gbk大(utf8是三字节字符集)...latin1的扩展,增加了亚洲、非洲常规语言支持,但仍不支持全部语言,且ASCII用unidoce来表示效率不高(小字符集转换成大字符集,往往便随的就是字符的丢失) utf8是unicode的扩展 gbk...存储空间:char(N)类型的存储空间和字符集有关系,结合刚才字符集的知识点,一个中文在utf8字符集中占用3个bytes、gbk占用2个bytes、数字和字符统一用一个字符表示。...存储空间:varchar(N)类型的存储空间和字符集有关系,结合刚才字符集的知识点,一个中文在utf8字符集中占用3个bytes、gbk统一占用2个bytes、数字和字符一个字符表示。

    3.6K10

    【Oracle字符集】识别及转换导出文件的字符集

    在传统的EXP导出文件中,记录着导出使用的字符集id,通过查看导出文件头的第2、3个字节,我们可以找到十六进制表示的字符集ID,在Windows上,可以使用UltraEdit等工具打开dmp文件,查看其导出字符集...在文件开始部分就记录了数据库的字符集、国家字符集及时区等信息,在表字段的属性部分也记录了字符集ID: ?...最常见的转换发生在从US7ASCII到ZHS16GBK之间。 由于很多数据库最初以US7ASCII字符集存储中文,单纯通过导出导入是无法完成字符集转换的。...对于这种情况,可以通过设置导出字符集为US7ASCII,原样导出数据;导出后修改导出文件的第二、三字符,修改0001为0354,这样就可以将US7ASCII字符集的数据正确导入到ZHS16GBK的数据库中...如果导出文件使用的字符集是US7ASCII,目标数据库的字符集是ZHS16GBK,就可以使用create database的方法来修改,具体操作如下: ? ?

    3.7K40

    字符集(charset)的演进

    字符是各种文字和符号的总称,包括各个国家文字,标点符号,图形符号,数字等。字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数各不相同。...下面为几项常见字符集及其区别 1.GB2312(GB就是国标的意思):GB2312包含简体中文 2.BIG5(又称大五码或五大码):它包含繁体中文,是港澳台等适用的 3.GBK(国标扩):GBK包含全体中文字符...,它是GB2312的扩展,它加入了对繁体字的支持,并且兼容GB2312,也就是它包含简体、繁体中文。...4.UTF-8(万国码):UTF-8是目前最常用的字符集,它包含了全世界所有国家需要用的字符(如英文,韩文,日文,阿拉伯文等)。...所以我们都统一用UTF-8,这样就可以避免字符集不统一而出现的页面乱码现象啦 当然现在还有UTF-16和UTF-32,都是通用的万国码,具体区别下期再讲哦

    52320

    字符集问题的初步探讨(七)----关于字符集更改的内部操作

    我们又知道,通过ALTER DATABASE CHARACTER SET更改字符集虽然安全可靠,但是有严格的子集和超集的约束,实际上我们很少能够 用到这种方法。...实际上Oracle还存在另外一种更改字符集的方式....Oracle非公开的命令: 这个命令是当你选择了使用典型方式创建了种子数据库以后,Oracle会根据你选择的字符集设置,把当前种子数据库的字符集更改为期望字符 集,这就是这条命令的作用....在使用这个命令时,Oracle会跳过所有子集及超集的检查,在任意字符集之间进行强制转换,所以,使用这个命令时你必须十分小心,你必须 清楚这一操作会带来的风险....我们之前讲过的内容仍然有效,你可以使用csscan扫描整个数据库,如果在转换的字符集之间确认没有严重的数据损坏,或者你可以使用有效 的方式更改,你就可以使用这种方式进行转换.

    84520

    MySQL中的字符集与字符序

    什么是字符集与字符序在大多数情况下,我们并不需要了解字符集与字符序,但是在涉及到不同字符集的转换时可能会出现问题,这时了解一下相关的知识还是有帮助的。我们首先了解一下字符集的原理。...比如:汉语中的所有字符构成一个字符集(也包括不是汉字的字符,比如标点符号等);英语中的所有字符构成一个字符集;等等对于字符集中的每个字符来说,都有两个属性:一个是这个字符在所属字符集中的位置,可以叫做字符序号...MySQL中的字符集与字符序了解了字符集和字符序之后,来看看MySQL中的字符集与字符序。...3.3 字符集与字符序的关系字符集与字符序的关系可以用下面的图来表示:图片即:每个字符集都有一个或多个字符序;每个字符集都有一个默认的字符序;每个字符序都关联一个且只有一个字符集;两个不同的字符集没有相同的字符序...服务器字符集与字符序的影响:当创建数据库时没有指定字符集与字符序,就是用服务器的字符集与字符序。除此之外没有别的影响。

    2.9K42

    字符集详解

    字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。...字符是各种文字和符号的统称,包括各个国家文字、标点符号、表情、数字等等。 字符集 就是一系列字符的集合。字符集的种类较多,每个字符集可以表示的字符范围通常不同,就比如说有些字符集是无法表示汉字的。...常见的字符集有很多,其中最常用的是ASCII字符集。ASCII字符集包括了基本的英文字母、数字和符号,是计算机中最常用的字符集之一。...其他常见的字符集包括: GB2312字符集 GB2312是中国国家标准的汉字字符集,包括了简体中文字符集,总计有6763个汉字。该字符集是GB18030字符集的前身,主要用于简体中文的处理。...不同的字符集适用于不同的语言和场景,选择合适的字符集可以大大提高数据处理效率和准确性。 三、字符集分类 单字节字符集 单字节字符集是指每个字符只占用一个字节的字符集,如ASCII字符集。

    15210

    指定输出的字符集

    指定输出的字符集若要指定要在输出文档中使用的字符集,可以设置Writer实例的Charset属性。选项包括“UTF-8”、“UTF-16”以及InterSystems IRIS支持的其他字符集。...影响Prolog的属性在writer实例中,以下属性会影响prolog:Charset控制两件事:XML声明中的字符集声明和(相应的)输出中使用的字符集编码。...如果没有指定字符集,并且输出定向到字符串或字符流,则默认为1,并且不写入任何声明。生成文档类型声明在根元素之前,可以包含文档类型声明,该声明声明了文档中使用的模式。...如果此参数非空,则将其括在方括号[]中,并适当地放在声明的末尾。没有添加其他字符。...编写处理指令要将处理指令写入XML,请使用WriteProcessingInstruction()方法,该方法有两个参数:处理指令(也称为目标)的名称。指令本身是一个字符串。

    1.2K10

    MySQL字符集乱码

    到底是什么原因导致出现查询结果为乱码呢,本文主要通过演示来理解乱码产生的原因,以及如何解决字符集乱码,供大家参考。...– 在my.cnf中未配置客户端字符集,如果配置后,则使用配置文件中设定的字符集 [root@centos7 ~]# export LANG=en_US.UTF-8 [root@centos7...character_set_connection: 告诉字符集转换器,转换成什么编码? character_set_results: 查询的结果用什么编码?...如果以上三者都为字符集N,可简写为set names ‘N’; 乱码产生的原因如下: a、插入或读取时对应编码环节发生转换导致数据丢失。...大于等于数据存入的字符集,否则会丢失数据 比如:如存储的字符为utf8,而返回character_set_results为gbk,数据被截断 3、所有变量使用统一的字符编码,如utf8或者utf8mb4

    6.7K20

    关于GreatSQL字符集的总结

    GreatSQL的字符集和校验规则种类繁多,提供灵活性的同时,也带来使用混乱的烦恼。本文对字符集做一个总结,让读者对GreatSQL的字符集有一个全面的了解。...,不同的字符集包含的字符范围不一样。...字符串在计算机中就是一个二进制字节序列,如果编码和解码使用不同的字符集,那最后得到的结果肯定是你不认识的乱码。 如果客户端和服务器端使用的字符集是不同的,那么就会涉及一个字符集转换的过程。...一般情况下,客户端编码请求字符串时使用的字符集与操作系统当前使用的字符集一致。Linux系统的LANG环境变量决定了操作系统当前使用的哪种字符集。...变量设置的字符集编码的,因此按照这个变量设置的字符集进行解码。

    10310

    字符集与字符编码总结

    字符集和字符编码的概念字符集:一个系统所支持的所有字符的集合。...常见的字符集除了ASCII字符集,还有GB2312字符集、BIG5字符集、Unicode字符集等等。字符编码:字符集仅仅是一个字符的集合,它并不知道也不关心字符集里的某个字符在计算机上是怎么存储的。...字符集仅仅是一个字符集合,是一个可以脱离计算机来讨论的概念;而字符编码是和计算机直接相关的,是一套规则,规定字符集里的每一个字符在计算机中是怎样被存储和被传输的。2....常见字符集简介以下将按照出现时间从早到晚,简单介绍几个常见的字符集:(1) ASCII字符集 & 字符编码ASCII是最早的一种字符集及字符编码,计算机出现之初,使用的就是ASCII,也是现行最通用的单字节编码系统...随着计算机在欧美国家之外的地区普及,由于很多地区使用的语言无法用ASCII字符来表示。

    1.1K11
    领券