متن text
تبدیل رشته به UTF-16 و برعکس، برای کار با ویندوز و کتابخانههایی که این قالب را میخواهند.
واردسازی متن
در این صفحه
رشتههای سلام UTF-8 هستند، اما برخی سیستمها، بهویژه ویندوز و بعضی کتابخانههای C، متن را در قالب UTF-16 میخواهند. در UTF-16 هر حرف معمولی یک «واحد» ۱۶ بیتی است و حرفهای کمیابتر مثل شکلکها دو واحد.
بستهی متن این تبدیل را در هر دو جهت انجام میدهد. حافظهای که به یوتف شانزده برمیگرداند متعلق به شماست و پایانش یک واحد صفر است.
روالها
طول یوتف شانزده Utf16Len
روال طول یوتف شانزده(s: رشته): صحیحتعداد واحدهای UTF-16 رشته را برمیگرداند. برای متن فارسی با تعداد حرفها برابر است، ولی هر شکلک دو واحد حساب میشود.
واردسازی متن
روال ریشه:
م := "سلام 😀"
سرچاپ م.طول()، م.شمارنویسه()، متن.طول یوتف شانزده(م)
ب := متن.به یوتف شانزده(م)
سرچاپ متن.واحد یوتف شانزده(ب، ۰)، متن.واحد یوتف شانزده(ب، ۵)
سرچاپ متن.از یوتف شانزده(ب)
پایانخروجی13 6 7
1587 55357
سلام 😀
به یوتف شانزده ToUtf16
روال به یوتف شانزده(s: رشته): تهی*رشته را به یک آرایهی UTF-16 با صفر پایانی تبدیل میکند و نشانیاش را برمیگرداند.
نمونهی این مورد همراه با موارد بالاتر آمده است: text-Utf16Len.salam
واحد یوتف شانزده Utf16UnitAt
روال واحد یوتف شانزده(w: تهی*، i: صحیح): صحیحواحد شمارهی
i را از یک آرایهی UTF-16 میخواند. برای شکلکها دو واحد پشتسرهم (جفت جانشین) میبینید.نمونهی این مورد همراه با موارد بالاتر آمده است: text-Utf16Len.salam
از یوتف شانزده FromUtf16
روال از یوتف شانزده(w: تهی*): رشتهیک آرایهی UTF-16 با صفر پایانی را دوباره به رشتهی سلام تبدیل میکند.
نمونهی این مورد همراه با موارد بالاتر آمده است: text-Utf16Len.salam