繁体   English   中英

HTML Character Entities和Delphi之间的数字等价?

[英]Numeric equivalence between HTML Character Entities and Delphi?

HTML Character Entity 𝕒

在此输入图像描述

可以使用此HTML代码从数字120146创建:

<!DOCTYPE html>
<html>
<style>
body {
    font-size: 20px;
}
</style>
<body>

<p>I will display &#120146;</p>

</body>
</html>

其中一些扩展字符符号可以在HTML和Delphi 10.1.2中使用相同的数字值创建。 例如:

两个&#174; Chr(174)创建“注册商标”符号字符®

两个&#163; Chr(163)创建“磅”符号字符£

等等。

遗憾的是,上述数字120146并非如此,其中德尔福的Chr(120146)创造了一个“有趣的中国符号”。

那么如何创建上面的&aopf; 德尔福的120146字符符号? 哪个是数值范围,HTML和Delphi之间的上述数字等价是否有效?

这是'MATHEMATICAL DOUBLE-STRUCK SMALL A'(U + 1D552) 它在Basic Multilingual Plane之外,因此在UFT-16中使用代理对进行编码。 这意味着需要两个UTF-16字符元素。

看看你的尝试: Chr(120146) 现在, 120146 > high(Word)= 65535 )告诉您代码无法成功。 请记住,每个UTF-16字符元素的大小为16位。 如果编译器警告这件事会很好。 可以?

上面的链接告诉你如何编码它。 它是由这个代理对给出的:

0xD835 0xDD52

在Delphi中,最容易编写为:

#$D835#$DD52

如果您使用UTF-32代码作为数值,那么您可以使用System.Character单元中的TCharacter.ConvertFromUtf32将其转换为Delphi字符串:

TCharacter.ConvertFromUtf32($1D552)

显然,这个函数的参数可以是一个变量。

如果您不了解上述大部分Unicode术语,请阅读以下文章:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM