记录生僻字编码问题

生僻字消失?

前段时间遇到一个问题,对方系统确认推送的文件里客户姓名为3个字:倪明,中间字如下:
PS: 忽略上面的编码哈,只看汉字
在这里插入图片描述
且文件为UTF8格式,本系统接收后转码为GB18030后,在服务器上cat 命令查看此行数据, 姓名如下图:中间看起来有个空格

倪   明|10|

hexdump

问题1: 对方系统的UTF8文件是否有这个生僻字
查看十六进制内容:
在这里插入图片描述
倪明的UTF8编码:
在这里插入图片描述
对比可以看出:中间生僻字的编码为:\xee90a1
将UTF8编码转换为unicode 编码–U+e421, 转换规则参考:
在这里插入图片描述
而unicode 这个区是属于私有区:
补充知识: 主要私有区由U+E000到U+F8FF范围内的代码点组成,总共6400个私有字符。
编码结构。按照惯例,主要私有区被划分为平台编写器的公司级使用分区,从U+F8FF开始向下扩展,以及从U+E000开始向上扩展的最终用户分区。

问题2:转码后GB18030是否有这个生僻字
查看十六进制内容:
在这里插入图片描述
倪明的GB18030编码:
在这里插入图片描述
对比可知生僻字的GB18030 编码为\xfdb8
属于用户自定义区2 属于字库中不存在的字,所以终端没有显示
在这里插入图片描述
具体的GB18030 可以下载完整文件:
国家标准全文公开系统–GB18030编码表文件

疑问:

Q1. 图片中的码值为啥与实际文件中的值不一致呢
A1: 姓名生僻字处理平台—此网站写得挺明白的,生僻字会有正式码值与PUA码两种编码形式,而公安部是使用PUA编码,而图片中的码值却属于正式码。对于我的业务场景,此客户是需要过联网核查系统,故这里使用的是PUA码值。
在这里插入图片描述

参考链接:–宝藏网站
汉字字符集编码查询
姓名生僻字处理平台

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值