unicode - unicode 中的两种阿拉伯字体表示
问题描述
我正在开发一个带有阿拉伯语文本的应用程序,我发现总是有两种方法可以用阿拉伯语编写相同的文本。我无法理解为什么会发生这种情况,以及如何将其中任何一个转换为另一个以开发一致的 UI。
这是一个阿拉伯语短语的示例。
اللّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وَآلِ مُحَمَّدٍ
اَﻟﻠّﻬُﻢﱠ ﺻَﻞﱢ ﻋَﻠﻰ ﻣُﺤَﻤﱠﺪٍ وَ ﺁلِ ﻣُﺤَﻤﱠﺪٍ</p>
我看到它在预览中看起来是一样的,但它是不同的,我想达到相同的结果。
这是我如何在 Notes 中区分这两者的方法
解决方案
它们在我的浏览器中看起来不同,并且获取每个的 Unicode 代码点给了我,按发布顺序
U+627 U+644 U+644 U+651 U+647 U+64F U+645 U+651 U+64E U+20 U+635 U+64E U+644 U+651 U+650 U+20 U+639 U+64E U+644 U+64E U+649 U+20 U+645 U+64F U+62D U+64E U+645 U+651 U+64E U+62F U+64D U+20 U+648 U+64E U+622 U+644 U+650 U+20 U+645 U+64F U+62D U+64E U+645 U+651 U+64E U+62F U+64D
U+627 U+64E U+FEDF U+FEE0 U+651 U+FEEC U+64F U+FEE2 U+FC60 U+20 U+FEBB U+64E U+FEDE U+FC62 U+20 U+FECB U+64E U+FEE0 U+FEF0 U+20 U+FEE3 U+64F U+FEA4 U+64E U+FEE4 U+FC60 U+FEAA U+64D U+20 U+648 U+64E U+20 U+FE81 U+644 U+650 U+20 U+FEE3 U+64F U+FEA4 U+64E U+FEE4 U+FC60 U+FEAA U+64D
检查这些第一行的前三个字母是 ALEF、LAM、LAM,第二行是 ALEF、FATHA、LAM INITIAL FORM
这很奇怪,因为初始形式不应该出现在单词的中间。看起来您的数据未正确清理。除了检查每个字母之外,我不知道有什么方法可以解决这个问题。
推荐阅读
- c# - 如何使用 SUM 计算将 SQL 转换为 Linq
- node.js - Nginx 反向代理路径名冲突
- javascript - 使用 jquery POST 方法向服务器发送登录请求
- java - 使用 SnpSift,只有 0.52% 的 VCF 被 dbsnp 数据库注释
- python - pytorch+tensorboard 错误“AttributeError:‘Tensor’对象没有属性‘items’”
- javascript - VS 代码不建议声明的函数
- angular - 如何在 Angular 8+ 中迭代 RXJS 可观察对象数组 [{},{}...] 并将每个对象的属性一次推送到模板一个对象
- nativescript - 如何在 nativescript-exoplayer 中捕获 PlayerError 并显示适当的警报
- javascript - 按钮在javascript中显示/隐藏div,切换不起作用
- python - 遍历 url 列表时无法建立连接