打印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+ftplib实现ftp客户端
一.程序说明 1.1 程序实现关键点 python实现ftp客户端,主要会遇到以下四个问题: 第一个问题是使用什么包实现----我们这里是使用标准库中的ftplib 第二个问题是怎么连接登录ftp服务 ...
- 锚点 , angular 锚点 vue锚点
因为最近在开发angular,自己有路由 用window.location跳到默认路由,查了半天用angular方式不好解决 ,so 原生走起 START scrollIntoView是一个与页面(容 ...
- jackSon注解– @JsonInclude 注解不返回null值字段
@Data @JsonInclude(JsonInclude.Include.NON_NULL) public class OrderDTO { private String orderId; @Js ...
- 1-4Controller之Middleware
1.注册中间件: 新建中间件文件:Activity <?php namespace App\Http\Middleware; use Closure; class Activity{ publi ...
- Model1与Model2
Model1与Model2开发模式的介绍及区别 转载 浅析Java开发中的Model1和Model2
- 每天CSS学习之top/left/right/bottom
top:值域是数值或百分比,正负都可以.该值表示 距离顶部有多少像素.例如top:10px:即距离顶部10个像素. left/right/bottom与top如出一辙,只是方向不一样而已. 这些属性一 ...
- 【转载三】Grafana系列教程–Grafana的配置及运行
本篇文章,就让我们来了解下,Grafana的简单配置及运行. 详细的配置我们后面会讲,本篇文章只对其配置做一个简单了解,主要是让大家了解Grafana的配置及启动的过程及方法. 更多Grafana问题 ...
- node(2) EventEmitter类 事件队列 事件和error事件方法
事件队列的核心:事件触发与事件监听器功能的封装. // 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var e ...
- 7.8 C++容器适配器
参考:http://www.weixueyuan.net/view/6405.html 总结: 容器适配器是用基本容器实现的一些新容器,这些容器可以用于描述更高级的数据结构. 容器适配器有三种:sta ...
- centos7 安装jdk8 bash脚本 并配置环境变量
#!/bin/bash #安装java脚本 if type -p java; then echo 'java已安装.' exit else echo '开始安装java...' wget --no-c ...