کتابخانه‌ی استاندارد · پایه

متن text

تبدیل رشته به UTF-16 و برعکس، برای کار با ویندوز و کتابخانه‌هایی که این قالب را می‌خواهند.

واردسازی متن
در این صفحه
  1. روال‌ها

رشته‌های سلام UTF-8 هستند، اما برخی سیستم‌ها، به‌ویژه ویندوز و بعضی کتابخانه‌های C، متن را در قالب UTF-16 می‌خواهند. در UTF-16 هر حرف معمولی یک «واحد» ۱۶ بیتی است و حرف‌های کمیاب‌تر مثل شکلک‌ها دو واحد.

بسته‌ی متن این تبدیل را در هر دو جهت انجام می‌دهد. حافظه‌ای که به یوتف شانزده برمی‌گرداند متعلق به شماست و پایانش یک واحد صفر است.

روال‌ها

طول یوتف شانزده Utf16Len

روال طول یوتف شانزده(s: رشته): صحیح
تعداد واحدهای UTF-16 رشته را برمی‌گرداند. برای متن فارسی با تعداد حرف‌ها برابر است، ولی هر شکلک دو واحد حساب می‌شود.
text-Utf16Len.salam
واردسازی متن

روال ریشه:
    م := "سلام 😀"
    سرچاپ م.طول()، م.شمارنویسه()، متن.طول یوتف شانزده(م)
    ب := متن.به یوتف شانزده(م)
    سرچاپ متن.واحد یوتف شانزده(ب، ۰)، متن.واحد یوتف شانزده(ب، ۵)
    سرچاپ متن.از یوتف شانزده(ب)
پایان
خروجی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