打印GBK、GB2312字符集全字符
根据编码表填充数据就可以了~~~~(>_<)~~~~~\(≧▽≦)/~啦啦啦
#include <stdio.h>
#include <stdlib.h>
#include <string.h> /*
GBK编码规则: 码段 未编码段 字数 8140 - A0FE 190 * 32 = 6080
A140 - A7FE 40 - A0 94 * 7 = 658
A840 - A9FE 190 * 2 = 380
AA40 - AFFE A1 - FE 96 * 6 = 576
B040 - F7FE 190 * 72 = 13680
F840 - FEFE A1 - FE 96 * 7 = 672
总共 = 22046
*/
void fun_gbk( void )
{
unsigned char code[] = {0x00, 0x00, 0x00}; // 8140 - A0FE 190 * 32 = 6080
for( code[] = 0x81; code[] <= 0xA0; code[]++ )
{
printf("\n%02x\n", code[]);
for( code[] = 0x40; code[] <= 0xFE; code[]++ )
{
printf("%s", code);
}
}
// A140 - A7FE 40 - A0 94 * 7 = 658
for( code[] = 0xA1; code[] <= 0xA7; code[]++ )
{
printf("\n%02x\n", code[]);
for( code[] = 0xA1; code[] <= 0xFE; code[]++ )
{
printf("%s", code);
}
}
// A840 - A9FE 190 * 2 = 380
for( code[] = 0xA8; code[] <= 0xA9; code[]++ )
{
printf("\n%02x\n", code[]);
for( code[] = 0x40; code[] <= 0xFE; code[]++ )
{
printf("%s", code);
}
}
// AA40 - AFFE A1 - FE 96 * 6 = 576
for( code[] = 0xAA; code[] <= 0xAF; code[]++ )
{
printf("\n%02x\n", code[]);
for( code[] = 0x40; code[] <= 0xA0; code[]++ )
{
printf("%s", code);
}
}
// B040 - F7FE 190 * 72 = 13680
for( code[] = 0xB0; code[] <= 0xF7; code[]++ )
{
printf("\n%02x\n", code[]);
for( code[] = 0x40; code[] <= 0xFE; code[]++ )
{
printf("%s", code);
}
}
// F840 - FEFE A1 - FE 96 * 7 = 672
for( code[] = 0xF8; code[] <= 0xFE; code[]++ )
{
printf("\n%02x\n", code[]);
for( code[] = 0x40; code[] <= 0xA0; code[]++ )
{
printf("%s", code);
}
}
} /*
GB2312编码空间
A1A1 - A9FE 846
B0A1 - F7FE 6768
7614
*/
void fun_gb2312( void )
{
unsigned char code[] = {0x00, 0x00, 0x00};
char tmp[]; // 打印GB2312字符集全部字符
for(code[]=0xA1; code[]<=0xA9; code[]++)
{
printf("0x%x\n", code[]);
//sprintf(tmp, "\n0x%x\n", code[0]);
//sendEsc(tmp, strlen(tmp)); for(code[]=0xA1; code[]<=0xFE; code[]++)
{
printf("%s", code);
//sendEsc( code, strlen(code));
}
} for(code[]=0xB0; code[]<=0xF7; code[]++)
{
printf("\n0x%x\n", code[]);
sprintf(tmp, "\n0x%x\n", code[]);
//sendEsc(tmp, strlen(tmp)); for(code[]=0xA1; code[]<=0xFE; code[]++)
{
printf("%s", code);
//sendEsc( code, strlen(code));
}
}
} int main( void )
{
printf("\r\n--------------- GBK ----------------\r\n");
fun_gbk(); printf("\r\n--------------- GB2312 ------------------\r\n");
fun_gb2312(); return ;
}
打印GBK、GB2312字符集全字符的更多相关文章
- 字符集、字符编码、国际化、本地化简要总结(UNICODE/UTF/ASCII/GB2312/GBK/GB18030)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 普通的linux 和 普通的windows. ...
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- JAVA字符编码一:Unicode,GBK,GB2312,UTF-8概念基础
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础 来源:holen'blog 对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16, ...
- XML:使用cxf调用WebService接口时报错:编码GBK的不可映射字符(设置UTF-8字符集)
调用代码如下 JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf. ...
- Unicode,GBK,GB2312,UTF-8概念基础(转载)
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础本部分采用重用,转载一篇文章来完成这部分的目标.来源:holen'blog 对字符编码与Unicode,IS ...
- 关于Unicode,字符集,字符编码,每个程序员都应该知道的事
关于Unicode,字符集,字符编码,每个程序员都应该知道的事 作者:Jack47 李笑来的文章如何判断一个人是否聪明?中提到: 必要.清晰.且准确的概念,是一切思考的基石.所谓思考,很大程度上,就是 ...
- Java应用开发中的字符集与字符编码
事出有因 在向HttpURLConnection的输出流写入内容时,因没有设置charset,导致接收方对数据的验签不一致. URL url = new URL(requestUrl); //打开连接 ...
- UTF-8 GBK GB2312 之间的区别和关系
UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三 ...
- 刨根究底字符编码之十——Unicode字符集的字符编码方式CEF
Unicode字符集的字符编码方式CEF 一.字符编码方式CEF的选择 1. 由于Unicode字符集非常大,有些字符的编号(码点值)需要两个或两个以上字节来表示,而要对这样的编号进行编码,也必须使用 ...
随机推荐
- Python3 configparser值为多行时配置文件书写格式
一.说明 一般而言ini配置文件键值对都是一行就完事了,但有时候我们想配置的值就是由多行组成,这里说明此时配置格式该如何书写. 二.书写格式 如果值为多行,那么在第一行外的后续所有行前加入至少一个空格 ...
- spring自定义xml标签&自定义注解
public class YafBeanDefinitionParser implements BeanDefinitionParser { private BeanDefinitionRegistr ...
- servlet/和/*匹配的区别
两者真正的区别是,两者的长度不同,根据最长路径匹配的优先级,/*比/更容易被选中,而/的真正含义是,缺省匹配.既所有的URL都无法被选中的时候,就一定会选中/,可见它的优先级是最低的,这就两者的区别.
- reload() 函数
reload() 函数 当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次. 因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数.该函数会重新导入之前导入过的模块.语 ...
- Java并发机制及锁的实现原理
同步的基本思想 为了保证共享数据在同一时刻只被一个线程使用,我们有一种很简单的实现思想,就是 在共享数据里保存一个锁 ,当没有线程访问时,锁是空的. 当有第一个线程访问时,就 在锁里保存这个线程的标识 ...
- 使用C#开发数据库应用程序
第一章 用Hello ACCP.NET快速热身(一) 1-1.进入C#世界 a.第一个C#程序 (1)新建项目[项目:project] (2)生成解决方案[生成:build,解决方案:solution ...
- CSS3 的box-shadow进阶之 - 动画篇 - 制作辐射动画
本篇文章是上一篇讲box-shadow基础知识的延伸,建议先花几分钟阅读那篇文章,点击阅读,再来看这篇. 除了box-shadow属性知识外,制作动画,还需要对CSS3的animation, @key ...
- 【Jmeter_WebService接口】对项目中的GetProduct接口生成性能脚本
一.环境信息 https://xxx.xxx.svc?wsdl 用户名:username 密码:password 对其中的GetProduct接口进行测试 二.通过soapui获取soup请求信息 1 ...
- flask-admin fileadmin 上传文件,中文名的解决方案 重写部分secure_filename
class upload_view(FileAdmin): def _save_form_files(self, directory, path, form): super() filename = ...
- C/C++知识补充 (1)
● C++的圆括号运算符() 下列关于圆括号运算符的功能说法不正确的是(C) . A. 可用于强制类型转换 B 可用于类型构造 C 可用于类型声明 D 可用于函数调用 对大部分可重载的运算符来说,它既 ...