登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
Unicode中如何表示未收录的生僻字 --浅谈IDS ...
Unicode中如何表示未收录的生僻字 --浅谈IDS
[ 复制链接 ]
陆菊
5 小时前
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
Unicode中的字符结构表示
Unicode标准是一个全球普遍接受的文字编码标准,它的理想是用一个巨大的字符集来表示世界上所有的字符,这样让全球的文字交流置于同一种体系之下,避免以前出现过的不同国家不同字符集互不统一造成的乱码,极大方便了全球的电子信息交流。
汉字是Unicode标准中内容最为庞大的子字符集,与英语等不同,汉字是每个字符有自己独立的意思,因此占用的字符数量巨大。目前Unicode 17标准中有15万个字符,中日韩统一汉字就占到了10万个以上。
但是即使是收字量如此之大,目前也无法涵盖汉字的所有字符,特别是手书时代有无数种不同的汉字变体或自造字,因此有大量字符是目前没有收录过的。另外还有一些新造的少量字符用于科技领域。这些未收入标准中的字符,就没有规定它们的字形。那这样的字符,应该怎么在电脑或手机等文本中表示它们呢?(文本方式之外,还是有很多办法的,图片,矢量图形,特殊的文件格式表示等等,但文本是最简洁最易交流的方式,使用频繁,甚至连化学结构的表达都有人发明SMILES文本来表达)。
为了在电脑时代表示这些字符,以前用过这样的用法,比如歘字在早期的字体中不存在,为了表示这个字,我们就用文字表示为“左焱右欠”,或者是“焱欠”,这是不得已的情况下变通表示,让读者能够理解的一种无奈的方法,它的缺点就是不太好表达更为复杂的结构。
因此,Unicode中提供了一种类似的方法,英文叫做Ideographic Description Characters, 中文翻译成 表意文字描述符,通过这些表示结构的字符与汉字部件结合来表示一个字的结构。因为定义了专门的表示结构的字符,其表达能力就大大增强了。
首先看标准中提供的表示结构的专用符号(来自wiki百科)
这种表示法的结构,是先放一个结构符号,后面提供表示结构的部件。
比如前面提到的歘字,用IDS来表示表示,就是 ⿰焱欠,第一个字符表示这个字是左右结构,相当于文本描述的 左X右Y;接着是从左到右(或从上到下)的部件,分别是焱、欠。这样读者就可以明白,这个表示一个组合字, 左右结构,从左到右分别是焱和欠。
当然,有些字形比较复杂,可能由多个部件构成,需要更进一步的拆分才能表达出来,因此用IDS的表示法可以进行嵌套表示。比如焱,如果没有这个字符,这种品字型的结构,可以把它拆分为上下结构,下部继续拆解为左右结构。因此 ⿰焱欠 可以继续写成
⿰⿱火⿰火火欠。
这种结构的解析顺序,从左到右,没有括号来表达优先级。上面这串字符,按从左到右解读,意思是说,整个字是左右结构(⿰);左边是上下结构(⿱),上面部件是火字,左边下面部件是左右组合的结构(⿰火火)。最后,右边是个欠字。
解读时要特别注意表示的结构中有几个部件,后面就要对应消耗几个部件。上例中,左边上部消耗一个火字,下面是左右结构,又消耗两个火字。最后剩下的欠字,对应着左右结构中的右边部件。
你肯定能明白,拆解的粒度与方法并不一定是唯一的,选择的部件也未必是唯一的,只要能准确表示结构就行。
这种表示方法开始用时,如果结构比如复杂可能不太好懂,需要多练习一下。为了方便练习,有个网站zi.tools提供了这种表示法的练习工具。有意思的是,这个网站还提供了检索具有特定结构的字符的功能,贴个图大家就很容易明白了,用?代表搜索的部件即可。
这里隐藏了一个问题,即这些表示结构的符号如何输入,最简单的方法就是你在zi.tools这个网站上把字拆好,然后把右边的框内生成的文字复制过来。我猜测一般的输入法应该不包括这种不太常用的符号。
最后,展示一下
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Unicode
如何
表示
收录
生僻
相关帖子
如何使用DashVector的多向量检索
VonaJS是如何做到文件级别精确HMR(热更新)的?
Flink源码阅读:如何生成StreamGraph
人工智能如何改变 Anthropic 的工作方式
alist如何将默认布局设置为图片布局
Flink源码阅读:如何生成JobGraph
一文读懂RAG架构如何助力AI
一文读懂RAG架构如何助力AI
Flink源码阅读:如何生成ExecutionGraph
如何改变管理者的懒惰!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
如何使用DashVector的多向量检索
0
300
别萧玉
2025-12-16
业界
VonaJS是如何做到文件级别精确HMR(热更新)的?
1
417
济曝喊
2025-12-17
业界
Flink源码阅读:如何生成StreamGraph
0
355
梁丘艷蕙
2025-12-18
安全
人工智能如何改变 Anthropic 的工作方式
1
219
诀锺
2025-12-18
业界
alist如何将默认布局设置为图片布局
0
619
筒霓暄
2025-12-20
业界
Flink源码阅读:如何生成JobGraph
1
734
钨哄魁
2025-12-20
业界
一文读懂RAG架构如何助力AI
0
749
董绣梓
2025-12-21
业界
一文读懂RAG架构如何助力AI
0
504
康器
2025-12-21
业界
Flink源码阅读:如何生成ExecutionGraph
0
762
唯棉坜
2025-12-21
业界
如何改变管理者的懒惰!
0
525
毡轩
2025-12-22
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
陆菊
5 小时前
关注
0
粉丝关注
26
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845358
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9981
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9949
查看更多
今日好文热榜
164
STM32HAL库中断教程以及分装中断工具函数(
241
STM32项目添加格外HAL库
194
MySQL 在哪些场景下不会写 binlog
311
从numpy数组等间距定长采样
877
经同意的语音克隆
523
具身智能:零基础入门睿尔曼机械臂(六)—
224
技术赋能・增长提速 —— 广州旗引科技专访
17
新品发布 | TestBase VCI 0620:新架构下高
701
从源码角度解析C++20新特性如何简化线程超
887
组合数学基础
834
C#/.NET/.NET Core技术前沿周刊 | 第 64 期
600
Flink源码阅读:集群启动
572
Unicode中如何表示未收录的生僻字 --浅谈ID
422
畅联云和智能物联中台UCC的关系
349
ROS2之URDF建模
223
MQ 选型框架——Kafka/RabbitMQ/RocketMQ
117
CoT论文阅读笔记
987
化整为零、分而治之、异步编排:一文读懂现
223
【Ubuntu】Ubuntu 22.04 与 Windows 跨系统
165
【Agent】MemOS 源码笔记---(7)---MemSched