QR码编码原理三(日本汉字和中文编码)
2013-02-27 10:50
211 查看
一、日本汉字(KANJI)是两个字节表示的字符码,编码的方式是将其转换为13字节的二进制码制。
转换步骤为:
1、对于JIS值为8140(hex) 到9FFC(hex)之间字符:
a)将待转换的JIS值减去8140(hex);
b)将高位字节乘以C0(hex);
c)将b)步骤生成的数据加上低位字节;
d)将结果转换为13位二进制串。
2、对于JIS值为E040(hex)到EBBF(hex)之间的字符:
a)将待转换的JIS值减去C140(hex);
b)将高位字节乘以C0(hex);
c)将b)步骤生成的数据加上低位字节;
d)将结果转换为13位二进制串。
二、中文汉字的与日文汉字转换步骤相似:
1、对于第一字节为0xA1~0xAA之间,第二字节在0xA1~0xFE之间字符:
a)第一字节减去0xA1;
b)上一步结果乘以0x60;
c)第二字节减去0xA1;
d)将b)步骤的结果加上c步骤的结果;
e)将结果转换为13位二进制串。
1、对于第一字节为0xB0~0xFA之间,第二字节在0xA1~0xFE之间字符:
a)第一字节减去0xA6;
b)上一步结果乘以0x60;
c)第二字节减去0xA1;
d)将b)步骤的结果加上c步骤的结果;
e)将结果转换为13位二进制串。
转换步骤为:
1、对于JIS值为8140(hex) 到9FFC(hex)之间字符:
a)将待转换的JIS值减去8140(hex);
b)将高位字节乘以C0(hex);
c)将b)步骤生成的数据加上低位字节;
d)将结果转换为13位二进制串。
2、对于JIS值为E040(hex)到EBBF(hex)之间的字符:
a)将待转换的JIS值减去C140(hex);
b)将高位字节乘以C0(hex);
c)将b)步骤生成的数据加上低位字节;
d)将结果转换为13位二进制串。
二、中文汉字的与日文汉字转换步骤相似:
1、对于第一字节为0xA1~0xAA之间,第二字节在0xA1~0xFE之间字符:
a)第一字节减去0xA1;
b)上一步结果乘以0x60;
c)第二字节减去0xA1;
d)将b)步骤的结果加上c步骤的结果;
e)将结果转换为13位二进制串。
1、对于第一字节为0xB0~0xFA之间,第二字节在0xA1~0xFE之间字符:
a)第一字节减去0xA6;
b)上一步结果乘以0x60;
c)第二字节减去0xA1;
d)将b)步骤的结果加上c步骤的结果;
e)将结果转换为13位二进制串。
相关文章推荐
- QR码编码原理三(日本汉字和中文编码)
- QR码编码原理三(日本汉字和中文编码)
- 二维码原理之QR码编码原理三(日本汉字和中文编码)
- QR码编码原理三(日本汉字和中文编码)
- QR码编码原理三(日本汉字和中文编码)
- charCodeAt方法以及Unicode中文汉字编码范围
- python中文utf8编码后是占3个字符,unicode汉字为2字节
- mysql 中utf8编码存放中文汉字问题
- 英文字母和中文汉字在不同字符集编码下的字节数
- 用delphi生成GBK 中文编码 表(4~5) GBK/4~5: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 0xA
- 在ASP中用VBS对汉字进行网址编码解决FLASH图表的中文乱码问题
- Oracle 一个中文汉字 占用几个字节,由Oracle中字符集编码决定
- Oracle 一个中文汉字 占用几个字节,由Oracle中字符集编码决定
- 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)
- 根据Unicode编码完美的判断中文汉字和符号
- 中文乱码问题 ? 原因:JSP中默认使用iso-8859-1字符编码方式,不支持中文 ? 常见的支持中文的编码方式:gb2312(常用简体汉字)、gbk(简体和繁体汉字)、utf-8 ? 解决中文乱码
- 将unicode编码的中文汉字转变成UTF-8编码的php程序
- 英文字母和中文汉字在不同字符集编码下的字节数
- 在ASP中用VBS对汉字进行网址编码解决FLASH图表的中文乱码问题
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结