gb2312

c++字符集之间转换(UTF-8,UNICODE,Gb2312)

可紊 提交于 2020-04-09 12:08:44
UTF-8: 3字节一个字符 UNICODE: 2字节一个字符 GB2312: 1字节一个字符 例子: “你”字的UTF-8编码: E4 BD A0        11100100 10111101 10100000 “你”的Unicode编码: 4F 60          01001111 01100000 按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000,把除了x之外的数字拼接在一起,就变成“你”的Unicode编码了。 注意UTF-8的最前面3个1,表示整个UTF-8串是由3个字节构成的。 经过UTF-8编码之后,再也不会出现敏感字符了,因为最高位始终为1。 类定义 class CChineseCode{ public: static void UTF_8ToUnicode(wchar_t* pOut,char *pText); // 把UTF-8转换成Unicode static void UnicodeToUTF_8(char* pOut,wchar_t* pText); //Unicode 转换成UTF-8 static void UnicodeToGB2312(char* pOut,wchar_t uData); // 把Unicode 转换成 GB2312 static void Gb2312ToUnicode(wchar

Python学习笔记:字符编码原理和操作详解

徘徊边缘 提交于 2020-04-06 12:16:37
一、电脑字符集的历史   1、电脑是如何将二进制与字符对应起来的?     我们知道,电脑底层只认识0和1的二进制数据,为了让电脑可以跟人类互动, 我们使用8个二进制位(即1个字节)来对应一个更复杂的数字,     比如:使用二进制“01000001”来指代十进制“65”,也就是大写字母A     实际使用场景中,人类利用键盘打字符“A”时,实际上是打65这个数字,电脑再到表中寻找65所代表的二进制数据“01000001”,实际处理的是这个二进制数据,这样就对应起来了,     这种对应关系表就是最早的字符编码集ASCII码表,如下图:        2、字符集是如何发展成一个庞大家族的?     电脑最初是西方人发明的,欧美国家的字符比较少,他们仅占用了前面127个位置就已经够用了,而8位的二进制数据最多可以表示255个不同的字符,剩下的128个字符就留给了别的国家,那么别国肯定是不够用的,怎么办?     于是聪明的中国人在ASCII码中规定几个位置,默认当电脑要寻找这几个位置的字符时就映射到另外一张表格中,而这张表格中存储了完整的中文字符,中文字符的发展历史如下:     a、GB2312:支持7000个汉字     b、GBK1.0:支持20000+个中文字符     c、GB18030:支持27000+个中文字符     d、Unicode

asp.net导出GridView数据到Excel

邮差的信 提交于 2020-03-25 03:51:59
最近做了一个导出GridView数据到Excel中的例子,把代码和遇到的一些问题放出来。 1 Response.Clear(); 2 Response.Buffer = true ; 3 Response.Charset = " GB2312 " ; 4 Response.AppendHeader( " Content-Disposition " , " attachment;filename=jtkc.xls " ); 5 Response.ContentEncoding = System.Text.Encoding.GetEncoding( " GB2312 " ); // 设置输出流为简体中文 6 Response.ContentType = " application/ms-excel " ; // 设置输出文件类型为excel文件。 7 this .EnableViewState = false ; 8 System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo( " ZH-CN " , true ); 9 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 10

asp.net导出GridView数据到Excel

a 夏天 提交于 2020-03-25 00:57:32
最近做了一个导出GridView数据到Excel中的例子,把代码和遇到的一些问题放出来。 1 Response.Clear(); 2 Response.Buffer = true ; 3 Response.Charset = " GB2312 " ; 4 Response.AppendHeader( " Content-Disposition " , " attachment;filename=jtkc.xls " ); 5 Response.ContentEncoding = System.Text.Encoding.GetEncoding( " GB2312 " ); // 设置输出流为简体中文 6 Response.ContentType = " application/ms-excel " ; // 设置输出文件类型为excel文件。 7 this .EnableViewState = false ; 8 System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo( " ZH-CN " , true ); 9 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 10

asp.net导出GridView数据到Excel

梦想与她 提交于 2020-03-25 00:52:37
最近做了一个导出GridView数据到Excel中的例子,把代码和遇到的一些问题放出来。 1 Response.Clear(); 2 Response.Buffer = true ; 3 Response.Charset = " GB2312 " ; 4 Response.AppendHeader( " Content-Disposition " , " attachment;filename=jtkc.xls " ); 5 Response.ContentEncoding = System.Text.Encoding.GetEncoding( " GB2312 " ); // 设置输出流为简体中文 6 Response.ContentType = " application/ms-excel " ; // 设置输出文件类型为excel文件。 7 this .EnableViewState = false ; 8 System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo( " ZH-CN " , true ); 9 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); 10

Ajax乱码问题整理

孤人 提交于 2020-03-20 18:24:07
产生原因 主要有2个原因 1 xtmlhttp 返回的数据默认的字符编码是utf-8,如果前台页面是gb2312或者其它编码数据就会产生乱码 2 post方法提交数据默认的字符编码是utf-8,如果后台是gb2312或其他编码数据就会产生乱码 解决的办法就是在送出的流里面加一个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会乱搞了。 PHP:header('Content-Type:text/html;charset=GB2312'); ASP:Response.Charset("GB2312") JSP:response.setHeader("Charset","GB2312"); 来源: https://www.cnblogs.com/circlesport/archive/2007/02/01/636760.html

68、TSPL指令集(标签打印机)

跟風遠走 提交于 2020-03-19 19:59:41
0、开发者pdf、sdk等资料详见: http://download.csdn.net/detail/kunyashaw/9376694 1、测试代码 包含文字打印、条形码打印、二维码打印 1 package com.huofu.speechundecrypt; 2 3 import android.content.Context; 4 import android.os.Bundle; 5 import android.support.v7.app.AppCompatActivity; 6 import android.view.View; 7 import android.widget.Button; 8 9 import java.io.UnsupportedEncodingException; 10 11 public class MainActivity extends AppCompatActivity { 12 13 Context ctxt; 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 19 Button btn = new Button(getApplicationContext()

Python Unicode与中文处理

感情迁移 提交于 2020-03-19 12:35:22
转自:http://blog.csdn.net/dao123mao/article/details/5396497 python中的unicode是让人很困惑、比较难以理解的问题,本文力求彻底解决这些问题; 1.unicode、gbk、gb2312、utf-8的关系; http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是unicode的一种实现方式,unicode、gbk、gb2312是编码字符集; 2.python中的中文编码问题; 2.1 .py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正。 一个module的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明: # -*- coding=utf-8 -*-或者 #coding=utf-8 其他的编码如:gbk、gb2312也可以; 否则会出现类似:SyntaxError: Non-ASCII character '/xe4' in file ChineseTest.py on line 1, but no encoding declared; see http://www.pytho

jsp中文乱码终极解决方法

…衆ロ難τιáo~ 提交于 2020-03-17 01:50:55
转载 http://blog.csdn.net/csh624366188/article/details/6657350 一 找出问题的根源 乱码可能出现的地方:1 jsp页面中 2 jsp页面之间相互传参的参数 3 与数据库中数据的存取 基本归纳为以上几种。 二 寻找解决方案 1 出现在jsp页面中,是由于没有设置jsp页面的中文字符编码。 2 出现在jsp页面之间相互传参,是由于参数没有设置正确的字符编码。 3 以上2个问题解决了,那么存到数据库中,自然就不存在乱码。除非你对存入到数据库里的数据再次进行编码。 三解决方法: 1的解决方法 <% @ page contentType = " text/html;charset=gb2312 " %> 加上这句解决jsp页面中的中文乱码显示,tomcat编译完后向客户端输出的html文件不是采 用中文编码,所以会导致乱码产生。 2的解决方法 2.1 <% request.setCharacterEncoding( " gb2312 " ); %> 加上这句解决jsp页面中的中文参数传递乱码。 因为浏览器默认使用的编码是“UTF-8”发送请求参数。 我们把它改为"gb2312"就ok了。 2.2 String(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");

一文说清文本编码那些事

只谈情不闲聊 提交于 2020-03-15 20:34:19
一直以来,编码问题像幽灵一般,不少开发人员都受过它的困扰。 试想你请求一个数据,却得到一堆乱码,丈二和尚摸不着头脑。有同事质疑你的数据是乱码,虽然你很确定传了 UTF-8 ,却也无法自证清白,更别说帮同事 debug 了。 有时,靠着百度和一手瞎调的手艺,乱码也能解决。尽管如此,还是很羡慕那些骨灰级程序员。为什么他们每次都能犀利地指出问题,并快速修复呢?原因在于,他们早就把编码问题背后的各种来龙去脉搞清楚了。 本文从 ASCII 码说起,带你扒一扒编码背后那些事。相信搞清编码的原理后,你将不再畏惧任何编码问题。 从 ASCII 码说起 现代计算机技术从英文国家兴起,最先遇到的也是英文文本。英文文本一般由 26 个字母、 10 个数字以及若干符号组成,总数也不过 100 左右。 计算机中最基本的存储单位为 字节 ( byte ),由 8 个比特位( bit )组成,也叫做 八位字节 ( octet )。 8 个比特位可以表示 $ 2^8 = 256 $ 个字符,看上去用字节来存储英文字符即可? 计算机先驱们也是这么想的。他们为每个英文字符编号,再加上一些控制符,形成了我们所熟知的 ASCII 码表。实际上,由于英文字符不多,他们只用了字节的后 7 位而已。 根据 ASCII 码表,由 01000001 这 8 个比特位组成的八位字节,代表字母 A 。 顺便提一下,比特本身没有意义,