VC++互相转码GBK,unicode,utf8】的更多相关文章

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去.他们看到这样是好的,于是它们就这机器称为"计算机". 开始计算机只在美国用.八位的字节一共可以组合出256(2的8次方)种不同的状态. 他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一旦终端设…
windows平台下微软的库自带了一些api可用于几种编码格式间的互相转码,其实可以用一个iconv开源跨平台的转码库,那个方法更方便且统一. 使用前要引入头文件和命名空间 #include <iostream> #include <string> #include <fstream> #include <windows.h> using namespace std; string GBKToUTF8(std::string& strGBK) { s…
1.ASCII:American Stardand Code for Information Interchange,是当时美国制定出来的一套编码系统,使用7位或8位二进制来表示西文字符,0-31以及127为控制字符或通信用字符,其余为可显示出来的字符.在标准的ASCII中最高位b7作为奇偶校验位.后面128个则称为扩展ASCII码,以满足当时不同地方特殊符号的需求. 2.ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASC…
0. 1.参考 网页编码就是那点事 阮一峰 字符编码笔记:ASCII,Unicode 和 UTF-8 2.总结 美国 ASCII 码 发音: /ˈæski/ :128个字符,只占用了一个字节的后面7位,最前面的一位统一规定为0. 非 ASCII 编码: 欧洲:ISO 8859-1,又称Latin-1或“西欧语言”,以ASCII为基础,利用一个字节的最前面1位,加入了96个字母和符号. 中国:gb2312 >>> gbk(2万多,支持繁体,1字节或双字节)>>> gb18…
以下任何言论都完全是个人的理解,如有雷同纯属巧合,如有错误,希望大家多多指出,共同学习!谢谢! 笔者是一个理解能力偏慢.稍钻牛角尖的程序员,什么东西都要从最基础理解起,一步一步向上理解,因此讲述时也是这样,讲述的也比较通俗,都是按照个人的理解来讲述的,也请大家少安毋躁. 在计算机中无论任何数据的传输.存储.持久化,都是以二进制的形式体现的. 那么当我存一个字符的时候,计算机需要持久化到硬盘,或者保存在内存中. 这个时候保存在内存.硬盘的数据显然也是二进制的. 那么当我需要从硬盘.内存中取出这些字…
字符编码的发展历史 一个字节:最初一个字节的标准是混乱的,出现过4位.6位.7位的一字节标准,最终由于历史原因和物理存储需求(8位是2的3次方,方便物理存储),所以采用了8位为一个字节的标准. ASCII:定下了8位为一个字节后,那么一个字节可以表示的状态就有256种(2^8),对应0-255号.接下来就需要考虑8位如何表示一个字符了,ASCII码顾名思义(American Standard Code for Information Interchange)就是美国的信息交换标准码,因此只需要表…
为什么需要编码? 计算机中最小的存储单位是字节(byte),一个字节所能表示的字符数又有限,1byte=8bit,一个字节最多也只能表示255个字符,而世界上的语种又多,都有各种不同的字符,无法用一个byte表示,所以java中的char表示字符就是来解决这种编码问题的,一个char占两个字节,所以从char到最小单位byte之间必须经过编码,反之为解码. 其实,编码解码就是完成的翻译过程(“翻译”很容易理解吧),各种编码方式就是一部部字典. 1.ASCII码 全称为American Stand…
谍战片,电报,摩斯密码,相应规则(暗号),编码解码: 电脑底层是高低电平来传输信息(OSI七层模型,最底层):文件存储的本质,也是二进制,01010101 美国:ASCII码(8位表示一个字节 0000 0001) 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a.b.c.d这样的52个字母(包括大写)以及0.1等数字还有一些常用的符号(例如*.#.@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当…
相信許多人對字符編碼都不是很了解,透過下文可以清晰的理解各种字符编码方式详解及由来. 一直对字符的各种编码方式懵懵懂懂,什么ANSI.UNICODE.UTF-8.GB2312.GBK.DBCS.UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go! http://www.phpweblog.net/fuyongjie/archive/2009/03/11/6374.html 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上…
    一直对字符的各种编码方式懵懵懂懂,什么ANSI.UNICODE.UTF-8.GB2312.GBK.DBCS.UCS--是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go!     很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字节".     再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样…
ASCII.Unicode.GBK和UTF-8字符编码的区别联系 转载自:http://dengo.org/archives/901 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为”字节“.再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样是好的,于是它们就这机器称为”计算机“. 开始计算机只在美国用.八位的字节一共可以组合出256(2的8…
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问题,特别是乱码问题,我觉得组成一个系列来描述和分析更好一些,包括三篇文章: 第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础 第二篇:JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换 第三篇:JAVA字符编码系列三:J…
原文地址:http://blog.laofu.online/2017/08/22/encode-string/ ASCII 的由来 在计算机的“原始社会”,有人想把日常的使用的语言使用计算机来表示, 我们知道在计算机的世界里面,只有0和1,为了解决尽量多的去表示字符,最终他们决定用8位0和1(一个字节)来表示字符,并且规定当机器读到这几个数据的时候,做出动作或者打印出指定的字符: 遇上0001 , 终端就换行: 遇上0000 , 终端就向人们嘟嘟叫: 遇上‭‭ ‬, 打印机就打印反白的字,或者终…
转自http://www.cnblogs.com/pannengzhi/p/5678495.html UNICODE,GBK,UTF-8区别 前言 其实这是个老生常谈的问题了,相信大家在第一次遇到Unicode编码问题时,都会在网上搜索一通, 找到几个解释,虽然有点杂乱,但还是感觉自己明白了些什么,然后就继续忙别的事情. 而我之所以就这个问题专门写一篇文章,原因是前两天在与公司一位有十几年工作经验的JAVA程序员对接 API时, 我问他返回的汉字是什么编码的, 而他回答说"直接返回unicode…
如果经常写python2,肯定会遇到各种“奇怪”的字符编码问题,每次都通过谷歌解决了,但是为什么会造成这种乱码.decode/encode失败等等,本文就字符和字符编码做一个总结,更加清晰区分诸多的编码. 字符集 一个系统支持的所有抽象字符的集合.字符是文字和符号的总称,包含各个国家文字.标点符号.图像符号.数字等.它为每一个字符分配一个唯一的ID,一般称之为码位.码点. 字符编码 它是一套规则,使用该规则能够将自然语言的字符的一个集合与其他东西的一个集合进行配对,在符号集合和数字系统中建立映射…
原作者:阮一峰(ruanyifeng.com),现重新整理发布,感谢原作者的无私分享. 1.引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料. 这个问题比我想象的复杂,午饭后一直看到晚上9点,才算初步搞清楚. 下面就是我的总结,主要用来整理自己的思路.我尽量写得通俗易懂,希望能对其他朋友有用.毕竟,字符编码是计算机技术的基石,对于程序员来说尤其重要,字符编码的知识是必须要懂的. 学习交流: - 即时通讯开发交流3群:185926912[推荐] - 移动端I…
原文出处:http://www.blogjava.net/xcp/archive/2009/10/29/coding2.html 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总结网上一些朋友提供的 ascii,ISO-8859-1,unicode, utf8,gb2312,big5,gbk,gb18030等几种常区别. 1. ASCII码    目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code f…
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础本部分采用重用,转载一篇文章来完成这部分的目标.来源:holen'blog   对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解地址:http://blog.donews.com/holen/archive/2004/11/30/188182.aspx Unicode: unicode.org制定的编码机制, 要将全世界常用文字都函括进去.在1.0中是1…
汉语unicode编译方式,BIG5是繁体规范,GB是简体规范 GB是大陆使用的国标码,BIG5码,又叫大五码,是台湾使用的繁体码. BIG5编码, GB编码(GB2312, GBK, ...), Unicode编码, UTF8, WideChar, MultiByte, Char 说明与区别 2014年12月31日 13:55:02 阅读数:4806 标签: BIG5GB2312GBKUnicodeUTF8 更多 个人分类: C/C++     一. BIG5编码, GB编码(GB2312,…
一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字 节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样是好的,于是 它们就这…
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111. 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为ASCII码,一直沿用至今. ASCII码一共规定了128个字符的编码…
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础 来源:holen'blog   对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解 地址:http://blog.donews.com/holen/archive/2004/11/30/188182.aspx     Unicode: unicode.org制定的编码机制, 要将全世界常用文字都函括进去.在1.0中是16位编码, 由U+0000到U+FF…
下载论坛源码GBK UTF8 BIG5分别是什么意思? 提问者:ly1987520 | 浏览次数:4010次 下载论坛源码简体中文GBK 简体中文UTF8 繁体中文BIG5 分别是什么意思?他们的区别是什么? 2010-11-9 10:49 最佳答案 简体中文 GBK: GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准),文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1.GBK包含全部中文字符. 简体中文 U…
小结: 1.UNICODE 字符集编码的标准有很多种,比如:UTF-8, UTF-7, UTF-16, UnicodeLittle, UnicodeBig 等: 2 服务器->网页 utf-8 文本->内存 unicode 3 python ord-chr作用 def chr(*args, **kwargs): # real signature unknown """ Return a Unicode string of one character with or…
常用编码格式一览 首先来看一下常用的编码有哪些,截图自Notepad++.其中ANSI在中国大陆即为GBK(以前是GB2312),最常用的是 GBK 和 UTF8无BOM 编码格式.后面三个都是有BOM头的文本格式,UCS-2即为人们常说的Unicode编码,又分为大端.小端. 所谓BOM头(Byte Order Mark)就是文本文件中开始的几个并不表示任何字符的字节,用二进制编辑器(如bz.exe)就能看到了. UTF8的BOM头为 0xEF 0xBB 0xBF Unicode大端模式为 0…
      不同的国家和地区制定了不同的标准,由此产生了 GB2312.GBK.GB18030.Big5.Shift_JIS 等各自的编码标准.这些使用多个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码.在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码:在繁体中文Windows操作系统中,ANSI编码代表Big5:在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码.不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种…
1.GB2312.GBK和UTF-8三种编码的简要说明 GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的应用来说,用这三种编码 比较多.简单的说一下,为什么要用编码,在计算机内,储存文本信息用ASCII码,每一个字符对应着唯一的ASCII码.最初计算机是由美国发明的,他们用的是英文字符使用ASCII很好表示.但我们中国的汉字编码就稍有不同,但原理相同,即都要求每个字符要唯一对应一个标识码,因此国家制定了汉字的字符编码标准:GB2312.GBK等.…
本文来自:javaeye网站 UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛 GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~ 提示:如果您的网站客户群体主要是面向国内用户的,建议使用GBK版本,因为它可以节省空间,及相对utf-8版本来讲稳定一些.对于DZ论坛来说,很多插件都只支持GBK的,如果需要装较多插件的论坛还是用GBK比较好,而对装较少插件且有特殊用户群的论坛用UTF8比较好. GBK版本与UTF-8版本功能是一样的.只不过编码方式不同. GBK的…
GB2312.GBK与UTF-8的区别  这是一个异常经典的问题,有无数的新手站长每天都在百度这个问题,而我,作为一个“伪老手”站长,在明白这个这个问题的基础上,有必要详细的解答一下.  首先,我们要明白,GB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们中国人的网站来说,用这三种编码 比较多.简单的说一下,为什么要用编码,在计算机内,储存文本信息用ASC II码,每一个字符对应着唯一的ASCII码.最初计算机是由美国发明的,他们也用的是键盘和上面的字母,…
1. Unicode与ISO 10646 全世界很多个国家都在为自己的文字编码,并且互不想通,不同的语言字符编码值相同却代表不同的符号(例如:韩文编码EUC-KR中“한국어”的编码值正好是汉字编码GBK中的“茄惫绢”).因此,同一份文档,拷贝至不同语言的机器,就可能成了乱码,于是人们就想:我们能不能定义一个超大的字符集,它可以容纳全世界所有的文字字符,再对它们统一进行编码,让每一个字符都对应一个不同的编码值,从而就不会再有乱码了. 如果说“各个国家都在为自己文字独立编码”是百家争鸣,那么“建立世…