酒鬼z

我自将心向明月,独卧沙场醉圆缺

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  文本编码

摘要:转自:http://www.cnblogs.com/hnrainll/archive/2011/05/07/2039700.html[在此向原文作者说声谢谢!若有读者看到文章转载时请写该转载地址,不要写我的BLOG地址。尊重他人的劳动成果 ^_^ ]C 和 C++ 的标准库分别有自己的 locale 操作方法,C 标准库的 locale 设定函数是 setlocale(),而 C++ 标准库有 locale 类和流对象的 imbue() 方法。这篇是我自己的 setlocale() 使用总结。Linux的glibc中的setlocale()具体参考:man 3 setlocale头文件与声明如 阅读全文
posted @ 2013-11-21 15:32 酒鬼z 阅读(173) 评论(0) 推荐(0)

摘要:转自:http://hi.baidu.com/nullspace/item/5f818b0f44922e103b53ee6eGeneric-Text Routine MappingsGeneric-Text Routine Name SBCS (_UNICODE & MBCS Not Defined) _MBCS Defined _UNICODE Defined _fgettc fgetc fgetc fgetwc _fgettchar fgetchar fgetchar _fgetwchar _fgetts fgets fgets fgetws _fputtc fputc fputc 阅读全文
posted @ 2013-11-06 19:06 酒鬼z 阅读(318) 评论(0) 推荐(0)

摘要:转自:http://blog.chinaunix.net/uid-12348673-id-3335304.htmlASCII ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。GB2312 GB2312是基于区位码设计的,区位码把编码表分为94个区, 阅读全文
posted @ 2013-11-06 19:05 酒鬼z 阅读(649) 评论(0) 推荐(0)

摘要:转自:http://www.fmddlmyy.cn/text24.htmlGB18030有两个版本:GB18030-2000和GB18030-2005。GB18030-2000是GBK的取代版本,它的主要特点是在GBK 基础上增加了CJK统一汉字扩充A的汉字。GB18030-2005的主要特点是在GB18030-2000基础上增加了CJK统一汉字扩充B的汉字。本 文数一数GB18030中的汉字,也顺便看看其它标准中的汉字。1 Unicode中的汉字在Unicode 5.0的99089个字符中,有71226个字符与汉字有关。它们的分布如下:Block名称开始码位结束码位字符数CJK统一汉字4E0 阅读全文
posted @ 2013-11-04 19:21 酒鬼z 阅读(711) 评论(0) 推荐(0)

摘要:C++ Unicode SBCS 函数对照表,以备日后查阅GenericSBCSUNICODETCHARcharwchar_t_TEOFEOFWEOF_TINTintwint_t_TSCHARsignedcharwchar_t_TUCHARunsignedcharwchar_t_TXCHARcharwchar_t__T(x)xL__targv__argv__wargv__tcserror_strerror__wcserror__tcserror_s_strerror_s__wcserror_s_cgetts_cgets_cgetws_cgetts_s_cgets_s_cgetws_s_cput 阅读全文
posted @ 2013-11-04 19:15 酒鬼z 阅读(125) 评论(0) 推荐(0)

摘要:转自:http://blog.sina.com.cn/s/blog_63733daa0100qe9n.html写在前面和大多数人一样,我本来对Unicode也是一知半解。由于从微软的VS2003开始(说起来竟然是8年以前了),Unicode已经是一个默认选项,熟悉的C++语言的char*变成了_TCHAR*,相信大多数人不会去深究其原理,只是将常用的几个字符串函数、基本类型做了相应变化而已。微软已经帮我们做了大量基础工作,大部分情况下并不需要深入研究。在我不准备把Unicode搞明白的时候,遇到了一件事:我们的项目要移植到越南版本。没想到这个看似不是很难的工作,让我经历了一场有趣的Unicod 阅读全文
posted @ 2013-10-17 15:08 酒鬼z 阅读(3600) 评论(0) 推荐(1)

摘要:随便说说字符集和编码 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机"。 开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上00x10, 终 阅读全文
posted @ 2013-06-27 20:51 酒鬼z 阅读(129) 评论(0) 推荐(0)

摘要:问题一:使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?我 很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢?问题二:最近在网上看到一个 ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对. 阅读全文
posted @ 2013-06-25 17:28 酒鬼z 阅读(416) 评论(0) 推荐(0)

摘要:最近用C#涉及到一些读取txt文本文件的操作,但是一个编码问题就困惑了我好久。如果编码选的不对,会造成乱码。之前转载的一片文章提出了一种 解决方法,就是用new StreamReader(file, Encoding.Default)。这种方法解决了大部分问题,但是测试中发现对于有的UTF-8文件依然会造成乱码(中文windows环境)。于是上网搜索解决方案。大多数是说UTF-8有特殊的前导码EF BB BF,只要认出这个就能判定是UTF-8编码了。但是我测试的一个文件发现前面并没有这些前导码啊…于是继续搜索……先转一篇直接知道怎么做的博文:http://blog.csdn.net/zdg/a 阅读全文
posted @ 2013-06-25 16:42 酒鬼z 阅读(684) 评论(0) 推荐(0)

摘要:用C#查看所有编码的 IANA 注册名称,如下: for (int i = 0; i < 65535; i++) { try { Console.WriteLine("{0} {1} {2}", i.ToString(), Encoding.GetEncoding(i).WebName.ToString(), Encoding.GetEncoding(i).ToString()); } catch (Exception e) { } }结果(我的机器是WIN7 64位版本):0 gb2312 System.Text.DBCSCodePageEncoding37 IBM 阅读全文
posted @ 2013-06-25 14:15 酒鬼z 阅读(763) 评论(0) 推荐(0)

摘要:字符集编码ANSI和UNICODE 本文为原创,参考了一些网上的资料.编码指不同国家的语言在计算机中的一种存储和解释规范 ANSI与ASCII n最初,Internet上只有一种字符集——ANSI的ASCII字符集(American Standard Code for Information Interchange, “美国信息交换标准码),它使用7 bits来表示一个字符,总共表示128个字符,后来IBM公司在此基础上进行了扩展,用8bit来表示一个字符,总共可以表示256个字符,充分利用了一个字节所能表达的最大信息 nANSI字符集:ASCII字符集,以及由此派生并兼容的字符集,如:GB2 阅读全文
posted @ 2013-05-18 22:43 酒鬼z 阅读(142) 评论(0) 推荐(0)