एचटीएमएल कैरेक्टर एंटिटी 𝕒:

enter image description here

इस HTML कोड के साथ संख्या 12046 से बनाया जा सकता है:

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

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

</body>
</html>

इनमें से कुछ विस्तारित वर्ण प्रतीकों को HTML और डेल्फ़ी 10.12 दोनों में समान संख्या मान से बनाया जा सकता है। उदाहरण के लिए:

&#174; और Chr(174) दोनों "पंजीकृत ट्रेडमार्क" प्रतीक वर्ण ® . बनाते हैं

&#163; और Chr(163) दोनों "पाउंड" प्रतीक वर्ण £ . बनाते हैं

आदि।

दुर्भाग्य से, उपरोक्त संख्या 12046 के साथ ऐसा नहीं है जहां डेल्फ़ी में Chr(120146) एक "मजेदार चीनी प्रतीक" बनाता है।

तो मैं डेल्फी में 12046 संख्या से उपरोक्त &aopf; वर्ण प्रतीक कैसे बना सकता हूं? और वह संख्यात्मक श्रेणी कौन सी है जहां HTML और डेल्फी के बीच उपरोक्त संख्यात्मक समकक्ष काम करता है या काम नहीं करता है?

8
user1580348 21 सितंबर 2017, 22:06

1 उत्तर

सबसे बढ़िया उत्तर

यह 'MATHEMATICAL DOUBLE-STRUCK SMALL A' (U+1D552)। यह मूल बहुभाषी विमान के बाहर है, और इसलिए UFT-16 में एक सरोगेट जोड़ी का उपयोग करके एन्कोड किया गया है। जिसका अर्थ है कि दो UTF-16 वर्ण तत्वों की आवश्यकता है।

अपने प्रयास को देखें: Chr(120146)। अब, 120146 > high(Word) (= 65535) जो आपको बताता है कि आपका कोड सफल नहीं हो सकता। याद रखें कि प्रत्येक UTF-16 वर्ण तत्व का आकार 16 बिट है। यह अच्छा होगा यदि संकलक इस बारे में चेतावनी दे। क्या यह?

ऊपर दिया गया लिंक आपको बताता है कि इसे कैसे एन्कोड करना है। यह इस सरोगेट जोड़ी द्वारा दिया गया है:

0xD835 0xDD52

डेल्फी में जिसे सबसे आसानी से लिखा जाएगा:

#$D835#$DD52

यदि आप UTF-32 कोड को एक संख्यात्मक मान के रूप में शुरू कर रहे हैं तो आप इसे TCharacter.ConvertFromUtf32:

TCharacter.ConvertFromUtf32($1D552)

स्पष्ट रूप से इस फ़ंक्शन का तर्क एक चर हो सकता है।

यदि उपरोक्त में से अधिकांश यूनिकोड शब्दावली आपके लिए अज्ञात है, तो इन लेखों को पढ़ें:

11
David Heffernan 21 सितंबर 2017, 22:43