问题描述–(linux 下经常遇到的编码问题) ---- 师兄在 windows 下写的一段程序 (C/C++ 编写), 传给我在 Linux 下面运行, 编译和运行的时候输出的时候中文乱码了 ?...Windows 中默认的文件格式是 cp936(通常被视为等同 GBK), 而 Linux 一般都是 UTF-8 3. 背景知识 (什么是编码?)...方法二:在 Vim 中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式 ?...如果你只是想查看其它编码格式的文件或者想解决用 Vim 查看文件乱码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom...Windows: 工具 描述 cscvt 字符集转换工具
字符,字符集,字符编码 简书郭文圣 现在Unicode已然一统天下,我想很多年轻的程序员可能都没遇到过编码问题,更不用说了解编码的发展了。...字符集是字符组成的集合,通常以二维表的形式存在,二维表的内容和大小是由使用者的语言而定,是英语,是汉语,还是阿拉伯语。 字符编码是把字符集中的字符编码为特定的二进制数,以便在计算机中存储。...字符集和字符编码一般都是成对出现的,如ASCII、IOS-8859-1、GB2312、GBK,都是即表示了字符集又表示了对应的字符编码,以后统称为编码。...要彻底解决这个问题,替代原先基于语言的编码系统,就需要一个通用的字符集UCS(Universal Character Set)和一个通用的字符编码Unicode。...参考:关于常用的字符集和编码 (一个好看的故事)
因此如果你的PHP文件是采用带BOM标记的UTF-8进行编码的,那么有可能会出现问题。 6.8 Unicode编码和以前的字符集编码有什么区别? 早期字符编码、字符集和代码页等概念都是表达同一个意思。...例如GB2312字符集、GB2312编码,936代码页,实际上说的是同个东西。...但是对于Unicode则不同,Unicode字符集只是定义了字符的集合和唯一编号,Unicode编码,则是对UTF-8、UCS-2/UTF-16等具体编码方案的统称而已,并不是具体的编码方案。...7、总结 字符集定义了一组字符,编码定义了如何来表示字符集中的字符(是不是有点类似抽象类与实现类的关系呢?)。...比如 Unicode 是一个「字符集」,而 UTF-8 是一种「编码方式」,其他的编码方式还有 UTF-16 和 UTF-32.
ascii编码,即美国标准协会制定的编码规范,采用一个字节表示的128个字符,其中95个可见字符,33个不可见字符。...unicode编码,由于ascii编码只能表示有限数量的字符,为了解决计算机中理多字符编码的问题,出现了unicode编码,Java中字符串使用的编码方式,采用两个字节表示一个字符,ASCII字符的编码不变...hex编码,对于每个字节,其包含8个比特位,其高4位和低4位分别作为一个十六进制数字的低4位,高4位补0,以这两个字节对应的十六进制数字作为该字节的hex编码,所以字节数组经过hex编码后长度为原来的2...base64编码,先转换为字节数组,再进行编码,可以表示6个比特,编码后长度为原来的4/3倍。...base58编码,先转换为字节数组,再进行编码,可以表示log258个比特(约5.858),编码后长度为原来的1.37倍。
一、请求编码 1.1 直接在地址栏中给出中文 请求数据是由客户端浏览器发送服务器的,请求数据的编码是由浏览器决定的。...name=天易,那么其中“天易”是什么编码的呢?不同浏览器使用不同的编码,所以这是不确定的!...页面的编码就是页面中输入数据的编码。...当然,通常浏览器都支持来设置当前页面的编码,如果用户在看到编码时,去设置浏览器的编码,如果设置的正确那么乱码就会消失。...这时就需要先把要发送的数据转换成URL编码格式,再发送给服务器。 其实需要我们自己动手给数据转换成URL编码的只有GET超链接,因为表单发送数据会默认使用URL编码,也就是说,不用我们自己来编码。
数据库已设置字符集为utf8mb4, 但是由于node使用的mysql依赖 connector版本可能太低,有字符集issue, package.json 1"mysql": "2.18.1" 解决办法
字符集和字符编码的概念字符集:一个系统所支持的所有字符的集合。...字符集 vs 字符编码:从上述对两者的描述中可以看出,我们这里讨论的字符集和字符编码是两个完全不同的概念。...常见字符集简介以下将按照出现时间从早到晚,简单介绍几个常见的字符集:(1) ASCII字符集 & 字符编码ASCII是最早的一种字符集及字符编码,计算机出现之初,使用的就是ASCII,也是现行最通用的单字节编码系统...(3) BIG***字符集 & 字符编码常见的有BIG5字符集及编码。BIG5是使用繁体中文社区中最常用的电脑汉字字符集标准,普及于港澳台等繁体中文通行区。...(4) Unicode字符集及其字符编码像中文使用的GB2312、BIG5字符集和字符编码一样,很多其他非英文国家和地区,也创造了自己的一套字符集和字符编码。
编码EnCode:将字符转化为字节 解码DeCode:将字节转化为字符 乱码:打个比方—比较多人知道的联通 用字符集GBK的时候出现这样的情况:��ͨ,这就是乱码 常见的中文字符集有:GBK 和 UTF...-8 国际上常用的字符集:Unicode(大字典)、ANSI UTF-8,中文占三个字节,英文占一个字节(变长),还有定长占两个字节(耗费空间多) GBK,中文占两个zijie 下面模拟编码: 我的默认的编码字符集为...: import java.io.UnsupportedEncodingException; /** * 编码:将字符转化为字节 * @author Administrator * */ public...static void main(String[] args) throws UnsupportedEncodingException { String msg = "性命生命使命a"; //默认字符集编码...,这里默认为GBK byte[] datas = msg.getBytes(); System.out.println(datas.length); //使用不同字符集编码,如UTF-
编程过程中经常会遇到各类字符的编码方式,经常会混淆,在此总结下常用的编码方式以及其原理。...比如2个字符’1’,’9’,他们对应的Ascii为0x31和0x39,因此表示形式则为2个字节0x31 0x39 假如用BCD格式来表示则将其数字对应的二进制前4位去掉,然后合并,即将00000001和...Base64编码: Base64编码的作用是将ascii里面的不可见字符变成可见字符来传输。...Base64编码的最小使用单元是4个字节,每个字节使用6位,假如不足6的整数倍,则后面补0,剩下的字符补=,因为计算机存储字节是8位,所以计算字符值时在前面补2个0。...4个字节,后面两个字节补=,最终得到QQ== 下面是一个Base64字符集,它包含大写字母、小写字母和数字,以及“+”和“/”符号。
本文介绍几个Linux命令来检测和转换文本文件的编码格式....根据 enca 的文档, 当我们运气好的时候, 就可以按照上面不添加任何额外参数的情况下, 检测出文件的编码格式. 而就我的经验来看, Linux的语言设置是一个影响运气的因素....上面的操作在默认语言为中文的Linux中, 行为就会如同上面给出的结果正确的检测出文件的中文编码格式....test.txt GBK 转换文件编码格式 在知道了文件的正确编码格式之后, 我们往往会希望将文件转换为UTF8之类常用或者系统默认支持的编码格式, 以便后续进一步处理....通过 iconv -l则可以查看所有的字符集名称. 前文也提到enca -i则可以用来输出 iconv 可用的文件编码名.
2常用字符集和字符编码 常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。...ASCII编码:将ASCII字符集转换为计算机可以接受的数字系统的数的规则。...上述编码规则就是GB2312。GB2312或GB2312-80是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。...GB 18030,全称:国家标准GB 18030-2005《信息技术 中文编码字符集》,是中华人民共和国现时最新的内码字集,是GB 18030-2000《信息技术 信息交换用汉字编码字符集 基本集的扩充...BIG5字符集&编码 Big5,又称为大五码或五大码,是使用繁体中文(正体中文)社区中最常用的电脑汉字字符集标准,共收录13,060个汉字。
后来欧洲人发现 127 个不太够,把 ASCII 没用完的位置用上了(拓展字符集),还叫 ASCII 。...微软采用了标准代码页 (Code Page,代码页是字符集编码的别名,也叫内码表) 的方法,把全世界的编码方式统一编号,在不同的地方采用对应地方的编码方式,微软把它称为 ANSI 编码。...比如在简体中文操作系统中ANSI编码默认指的是GB系列编码(GB2312、GBK、GB18030);在繁体中文操作系统中ANSI编码默认指的是Big5编码(港澳台地区使用的繁体汉字编码);在日文操作系统中...ANSI编码默认指的是 Shift_JIS 编码。...Locale 是指特定于某个国家或地区的一组设定,包括代码页,以及数字、货币、时间和日期的格式等。可以用 chcp 命令获得当前的代码页设置。
我们需要理解两个概念: 1)、# -*- coding: utf-8 -*- 的作用是声明 python源代码文件的编码格式。 谁会读取Python的源代码呢?...是byte处理,所以读写前后需要使用同样的字符编码方式。 2)、print、str对象的处理涉及到终端的编码格式。...print之后,在pycharm的输出窗口,或者windows的CMD命令行窗口,或者Linux的shell窗口,需要适配终端的编码方式 3)、字符编码基本可分为三大类:起源于美国的ASCII,支持英文字符...、数字、标点符号、键盘上的特殊字符;国际编码unicode,支持ascII的字符集外,又支持中文,韩语,日语等。...,都是以unicode编码的二进制形式存放与内存中的 但是程序在执行过程中,会申请内存(与程序代码所存在的内存是俩个空间),可以存放任意编码格式的数据,比如x="egon",会被python解释器识别为字符串
根据映射方向的不同,又可以分为编码和解码。文字、数字等转换成二进制数被称为编码,而二进制数转化为文字、数字和图形符号等称为解码。...常见的字符集包括ASCII字符集、GB2312字符集(简体字符集)、GBK字符集(简繁字符集)和通用字符集(UCS)和Unicode字符集。...ASCII字符集包含128个字符,它用8bit表示,其中,第一位用0表示。ASCII编码则是一种将ASCII字符集中的字符映射到二进制数的关系,譬如:A -> 65。...根据Huffman编码的思想(最常出现的字符编码尽量的短),以及不同符号使用不同的字节长度表示,因此UTF-8采用了1-4个字节表示一个符号,这种变长的编码方式。...它的编码规则如下: 1.对于单字节的符号,字节的第一位置0,后面7位为这个符号的Unicode码。因此,对于英语字母,UTF-8编码和ASCII码是相同的。
文件系统类型就是分区的格式。...msdos: dos文件系统类型 vfat:支持长文件名的dos分区文件系统,可以理解为winds文件系统类型 iso9660: 光盘格式文件系统 ext2/ext3/ext4: linux下主流的文件系统...xfs: linux下一种高性能的日志文件系统,在centos7.x中默认的文件系统 nfsd: 一种分布式文件系统 1.
为了避免字符出现问题,请将所有的字符集设置为使用 UTF-8 编码(或者根据你配置的数据库来制定正确的 UTF-8 编码字符集,例如在 Oracle 中使用的是 AL32UTF8 )。...配置 Confluence 字符集编码 在默认的情况下,Confluence 使用的是 UTF-8 字符集编码。...Confluence 中也有多个检查来确保你的数据库也是使用的 UTF-8 编码(或者对应的编码)。 当然,你也是可以对你的字符集进行修改的,我们并不推荐你这样做。...如何修改 Confluence 字符集编码(不推荐): 进入 ? ...> 基本配置(General Configuration) 然后选项 编辑(Edit)choose 在你选择的 编码(Encoding )文本输入框的边上输入新的字符集编码,然后单击 保存(Save)。
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。有两种解决方法。...一种是在 python的编程工具 Pycharm 中设置默认编码 pycharm下载地址:http://www.jetbrains.com/pycharm/ 选择社区版即可,免费。
代码就像家里的各种物品,格式化就好比对家中物品的排放。家中的物品随便怎么放,物品都不会反对,房子也不会介意,但是物品的排放合理、规整,会让家里变得更具有美感。...代码也是一样,代码写成什么样子,代码不会反对,计算机也不会介意(除非不能运行),但是毕竟还是会有人来欣赏、维护这些代码,这时候具有很好格式的代码就显得尤为重要了。...代码示例请参照上面的例子 应该还有很所关于格式化的规则,由于本人设计数据尚浅,接触的数据库也不是特别多,还希望大家帮忙补充
比较初级, 深入的请参考卢sir的博客: http://cenalulu.github.io/linux/character-encoding/ http://cenalulu.github.io/mysql...gbk)) | |----------------------------------| | C4E3BAC3 | +----------------------------------+ GBK字符集是按照...-----------------------------| | E4BDA0E5A5BD | +-----------------------------------+ UTF8字符集是按照...----------------------+ | A5BD | +-------------------------------+ 补充,将16进制的编码反推成...UTF8编码的汉字: > SELECT CONVERT( unhex('E4BDA0E5A5BD') USING utf8); +------------------------------------
引言 我相信很多人在初接触编程时,都被字符集狠狠地虐过,特别是数据库的中文乱码问题,那么乱码是怎么产生的呢? 我们都知道计算机是以二进制存储和运行的,那么它是怎么把二进制数据转换为各种文字的呢?...还有我们常用的各种字符集,常用的编码转换,都是怎么进行的呢? 本博文所写的内容不是技术干货,只是对我们常用的字符集和编码的一个小总结,小科普。...我相信读完本文,您应该对 字符集和常见编码方式 有个差不多的认识了。...最新的UCS-4标准是一个尚未填充完全的31位 Unicode 字符集,它使用 31 位来保存字符,加上恒为 0 的首位,共需占据 32 位,4 字节。...小结 字符集和编码一般不是 web 开发中的重点,但了解一下也挺有意思的,既能增长见识,还能预防哪一天突然踩了其中的坑。 如果您觉得本文对您有帮助,可以帮忙点一下推荐,也可以关注我。
领取专属 10元无门槛券
手把手带您无忧上云