st9720-GB 中文编码对照表

做嵌入式LED 屏幕显示的时候,需要ST9720 中文编码,网上找了好几个版本,版本不同居然对应的code也不同!找了一个靠谱的pdf版本编码对照表,供大家参考

.....

.....

 

下载地址:

https://www.powertip.com.tw/upload/technical/st7920-GB.pdf

https://files.cnblogs.com/files/dcb3688/st7920-GB.pdf

https://files.cnblogs.com/files/dcb3688/ST7920c30%28ch%29.pdf

 

因为网上找的都是pdf格式,所以想把对照表转换成sql,找的时候直接select。

转换的方法是这样的,先把pdf转换为doc或txt,在通过读取doc或txt,依次每行插入数据库,但发现个问题,直接复制pdf内容到剪贴板粘贴到txt中的会丢失为空的占位符。比如: A1A1 就是一个空值,但直接复制到txt会是这样的:

 

所以,这种方法不可取,后来想到一个办法,就是每一个字符显示一行(包括code),然后通过特殊字符进行站位,等替换空格为换号(^p)后,在替换\n\r

通过php读取txt,连接mysql 插入数据库

数据库结构:

CREATE TABLE `st9720` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` char(10) NOT NULL COMMENT 'e id',
  `word` char(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `code` (`code`),
  KEY `word` (`word`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='ST7920 GB中文编码表';

 

完整PHP代码:

$file = fopen("st9720.txt", "r");
$fonts = [];
$i = 0;
# 输出文本中所有的行,直到文件结束为止。
while (!feof($file)) {

    $fonts[$i] = fgets($file);  # 从文件指针中读取一行
    $i++;
}

fclose($file);
$data = [];
$row = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'];

$ii = 0;
foreach ($fonts as $font) {
    $ii++;
    $font = str_replace(array("\r", "\n"), array('', ''), $font);
    # 177 == VIII  大于strlen==5 A2C0\r     (10)==len(5)
    if (strlen($font) == 4 && (($ii < 177 && substr($font, 0, 1) == "A") || $ii > 177)) {
        $rows = 0;
        $head = strval($font);
    } else {
        $pre = substr($head, 0, 2);
        $mid = substr($head, 2, 1);
        $data[$pre][$mid . $row[$rows]] = $font;
        $rows++;
    }
}




# 连接到数据库
$conn = mysqli_connect("127.0.0.1", "root", "root", "mydb");
/**
 * 
 
foreach ($data as $pre => $mrowvalue) {
    foreach ($mrowvalue as $mid => $word) {
        $code = $pre . $mid;
        $sql = "insert into st9720 (code,word)  values('{$code}','{$word}')";
        if (!mysqli_query($conn, $sql)) {
            die('Error: ' . mysqli_error($conn));
        }
        echo "添加一条记录";
    }
}
//关闭连接
mysqli_close($conn);
 
 */



$string="xiao小科技欢迎您!";
for($i=0;$i<mb_strlen($string);$i++){
    $word= mb_substr($string, $i,1);
    $result = $conn->query("select * from st9720 where BINARY word='{$word}'");  # 区分大小写
    if($result){
      $r= $result->fetch_array();
      echo "{$word} :{$r['code']} <hr>";
     
    }
 
}

 

st9720-GB.txt 与php代码及sql文件

https://files.cnblogs.com/files/dcb3688/st9720-txt-sql.7z

查找文字“xiao小科技欢迎您!”效果:

 

 

转载于:https://www.cnblogs.com/dcb3688/p/4608045.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UTF-8汉字编码对照表(Universal Character Set Transformation Format - 8-bit)是一种用于在计算机存储和处理文本的编码方式,它是Unicode的一种变体。UTF-8编码支持世界上几乎所有的字符,包括中文字符。 UTF-8使用不同长度的字节序列来表示不同的字符。对于英文字母和数字等ASCII字符,UTF-8编码使用一个字节表示,与ASCII编码保持兼容;对于汉字等非ASCII字符,UTF-8编码使用两个或更多字节表示。 UTF-8编码的汉字范围是U+4E00至U+9FA5,共20902个字符。这个范围内包括了现代汉字、繁体汉字以及一些常用的生僻字。通过UTF-8编码,可以将这些汉字表示成一个或多个字节序列。 UTF-8汉字编码对照表列出了从U+4E00到U+9FA5的所有汉字及其对应的UTF-8编码。每个汉字在UTF-8编码中占用的字节数可能不同,但都能表示准确的字符。例如,UTF-8编码中汉字“中”对应的编码是E4 B8 AD。 使用UTF-8编码方式有很多好处。首先,它能够容纳世界上各个语言的字符,不再受到字符集的限制。其次,UTF-8编码是可变长度的,对于英文等ASCII字符,使用一个字节表示,比传统的编码方式更节省空间。最后,UTF-8编码是逐渐取代其它编码方式成为国际通用编码,减少了字符转换的麻烦。 总之,UTF-8汉字编码对照表包含了所有汉字字符及其对应的编码,在实际应用中使用UTF-8编码方式能够更好地支持汉字和其他语言的字符表示,并促进跨语言的信息交流和数据处理。 ### 回答2: UTF-8汉字编码对照表是一种用于将汉字字符映射到计算机系统中的编码系统。UTF-8是一种可变长度的编码方式,它可以将Unicode中的所有字符以字节形式表示。UTF-8编码是一种兼容ASCII编码的方式,即使用一个字节表示ASCII字符,而使用多个字节表示非ASCII字符,这使得在使用UTF-8编码的系统中,可以同时处理ASCII字符和汉字字符。 汉字在Unicode中的编码范围是0x4E00到0x9FFF,这个范围内的每一个汉字都有一个对应的Unicode码点。在UTF-8中,每一个Unicode码点通过一系列的字节表示。对于汉字而言,它的编码范围超出了ASCII编码的范围,因此需要使用多个字节来表示,具体的字节个数取决于汉字的编码范围。 UTF-8汉字编码对照表列出了每一个汉字及其对应的UTF-8编码的字节序列。比如,汉字“中”对应的Unicode码点是0x4E2D,而在UTF-8中它的编码字节序列是0xE4B8AD。这个字节序列包含了三个字节,每个字节的高位为1,后面的7位是表示该字节所包含的数据。通过这个字节序列,计算机系统可以正确地识别和处理这个汉字字符。 对照表可以帮助开发人员在处理汉字字符时正确地转换和解码UTF-8编码。在编程和网页设计中,使用UTF-8编码对照表可以帮助开发人员准确地处理和显示汉字字符,确保文字内容的准确性和兼容性。 ### 回答3: UTF-8是一种用于存储和传输Unicode字符的可变长度编码方案。UTF-8编码使用1到4个字节来表示一个Unicode字符,其中汉字占用3个字节。 UTF-8汉字编码对照表是一个包含Unicode字符与对应的UTF-8编码表示之间关系的表格。该表格列出了Unicode编码范围内的所有字符及其对应的UTF-8编码。 UTF-8编码是一种多字节编码方案,使用不同长度的字节序列来表示不同的字符。在UTF-8编码中,ASCII字符使用1个字节表示,而Unicode范围内的其他字符则使用多个字节表示。 UTF-8汉字编码对照表通过列出Unicode编码范围内的汉字字符及其对应的UTF-8编码,方便人们在实际应用中进行编码转换和字符处理。 在UTF-8汉字编码对照表中,可以找到汉字的Unicode编码,例如"你"字的Unicode编码为U+4F60。然后可以根据UTF-8编码规则,将Unicode编码转换为对应的UTF-8字节序列,例如"你"字的UTF-8编码为E4BDA0。 通过UTF-8汉字编码对照表,我们可以方便地进行汉字的编码转换和字符处理。无论是在编程中处理字符串,还是在网络传输中使用UTF-8编码进行数据传输,都可以依靠UTF-8汉字编码对照表来确保汉字的正确表示和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值