اÛ٠بخش Ø¨Ù Ø¯ÙØ¨Ø§Ù ع٠Û٠شد٠در رشتÙâÙØ§ است. اÛÙ Ø¯Ø§ÙØ´ Ø¨Ø±Ø§Û Ø´Ù Ø§ Ù ÙÛØ¯ Ø®ÙØ§Ùد Ø¨ÙØ¯ اگر ÙØµØ¯ Ø¯Ø§Ø±ÛØ¯ با اÛÙ ÙØ¬ÛâÙØ§Ø Ú©Ø§Ø±Ø§Ú©ØªØ±ÙØ§Û Ø±ÛØ§Ø¶Û ÙØ§Ø¯Ø± ÛØ§ ÙÛØ±ÙÚ¯ÙÛÙâÙØ§ ÛØ§ Ø³Ø§ÛØ± ÙÙ Ø§Ø¯ÙØ§Û ÙØ§Ø¯Ø± سر ٠کار Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯.
ÙÙ Ø§ÙØ·Ùر Ú©Ù Ù ÛâØ¯Ø§ÙÛ٠رشتÙâÙØ§ (strings) در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت بر پاÛÙ ÛÙÙÛâکد ÙØ³ØªÙد Ù ÙØ± کاراکتر Ù٠اÛÙØ¯Ù Ø¯ÙØ¨Ø§ÙÙâØ§Û 1 تا 4 عضÙÛ Ø§Ø² Ø¨Ø§ÛØªâÙØ§ است.
Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت اجاز٠درج کاراکتر ØªÙØ³Ø· ÛÙÙÛâکد ÙگزادسÛ٠ا٠آ٠درÙÙ ÛÚ© رشت٠را با ÛÚ©Û Ø§Ø² اÛ٠س٠Ù٠اد Ù ÛâØ¯ÙØ¯:
-
â\xXXب٠جاÛ
XXØ¨Ø§ÛØ¯ د٠عدد ÙگزادسÛ٠ا٠در بازÙ00ÙFFÙØ±Ø§Ø± Ú¯ÛØ±Ø¯. در ÙØªÛجÙâ\xXXÚ©Ø§Ø±Ø§Ú©ØªØ±Û Ø§Ø³Øª Ú©Ù ÛÙÙÛâکد Ø¢ÙXXÙØ³Øª.از Ø¢ÙØ¬Ø§ Ú©Ù Ù٠اد
â\xXXÙÙØ· از د٠عدد ÙگزادسÛÙ Ø§Ù Ù¾Ø´ØªÛØ¨Ø§ÙÛ Ù ÛâÚ©ÙØ¯Ø از Ø¢Ù Ù ÛâØªÙØ§Ù ÙÙØ· Ø¨Ø±Ø§Û 256 کاراکتر اÙÙ ÛÙÙÛâکد Ø§Ø³ØªÙØ§Ø¯Ù کرد.اÛÙ 256 کاراکتر اÙ٠شا٠٠اÙÙØ¨Ø§Û ÙØ§ØªÛÙ Ø Ú©Ø§Ø±Ø§Ú©ØªØ± ÙØ§Û ÙØÙÛ Ø§Ø¨ØªØ¯Ø§ÛÛ Ù Ø¨Ø±Ø®Û ÚÛØ²ÙØ§Û Ø¯Ûگر Ù ÛâØ´ÙØ¯. ب٠عÙÙØ§Ù ٠ثاÙ
"â\x7A"٠اÙÙØ¯ ÙÙØ´ØªÙ"z"ÙØ³Øª. (ÛÙÙÛâکدU+007A)alert( "\x7A" ); // z alert( "\xA9" ); // ©, Ù٠اد Ú©Ù¾ÛâØ±Ø§ÛØª -
â\uXXXXب٠جاÛ
XXXXØ¨Ø§ÛØ¯ 4 عدد ÙگزادسÛ٠ا٠در بازÙ0000ÙFFFFÙØ±Ø§Ø± Ú¯ÛØ±Ø¯. در ÙØªÛجÙâ\uXXXXÚ©Ø§Ø±Ø§Ú©ØªØ±Û Ø§Ø³Øª Ú©Ù ÛÙÙÛâکد Ø¢ÙXXXXÙØ³Øª. Ú©Ø§Ø±Ø§Ú©ØªØ±ÙØ§ÛÛ Ø¨Ø§Ù ÙØ§Ø¯Ûر ÛÙÙÛâکد بزرگتر ازU+FFFFرا ÙÙ Ù ÛâØªÙØ§Ù با اÛÙ Ø±ÙØ´ ÙØ´Ø§Ù داد. Ø¨Ø±Ø§Û Ø¢Ù Ø¨Ø§ÛØ¯ از ÛÚ© Ø¬ÙØª جاÛگزÛÙ (surrogate pair) Ø§Ø³ØªÙØ§Ø¯Ù کرد. (در Ø§Ø¯Ø§Ù Ù Ø¨ÛØ´ØªØ± در رابط٠با Ø¢ÙÙØ§ ØµØØ¨Øª Ø®ÙØ§ÙÛ٠کرد.)alert( "\u00A9" ); // ©, با Ø§Ø³ØªÙØ§Ø¯Ù از Ù٠اد Ùگز 4 رÙÙ Û \xA9 ٠اÙÙØ¯ alert( "\u044F" ); // Ñ, ØØ±Ù 'ÛÙÙ' در اÙÙØ¨Ø§Û Ø³ÛØ±ÛÙÛÚ© alert( "\u2191" ); // â, Ù٠اد ÙÙØ´ Ø±Ù Ø¨Ù Ø¨Ø§ÙØ§ -
â\u{Xâ¦XXXXXX}ب٠جاÛ
Xâ¦XXXXXXØ¨Ø§ÛØ¯ ÛÚ© Ù ÙØ¯Ø§Ø± ÙگزادسÛ٠ا٠1 تا 6 Ø¨Ø§ÛØª در بازÙ0Ù10FFFFÙØ±Ø§Ø± Ú¯ÛØ±Ø¯ (Ø¨Ø§ÙØ§ØªØ±ÛÙ Ù ÙØ¯Ø§Ø± تعرÛÙ Ø´Ø¯Ù ØªÙØ³Ø· ÛÙÙÛâکد). ØªÙØ³Ø· اÛÙ Ù٠اد Ù ÛâØªÙØ§Ù ØªÙ Ø§Ù Û ÛÙÙÛâکد ÙØ§Û Ù ÙØ¬Ùد را Ø¨Ù Ø±Ø§ØØªÛ ÙØ´Ø§Ù داد.alert( "\u{20331}" ); // 佫, ÛÚ© کاراکتر ÚÛÙÛ ÙØ§Ø¯Ø± (Ø¯Ø§Ø±Ø§Û ÛÙÙÛâکد Ø·ÙÙØ§ÙÛ) alert( "\u{1F60D}" ); // ð, اÛÙ ÙØ¬Û ÚÙØ±Ù Ø®ÙØ¯Ø§Ù (ÛÙÙÛâکد Ø·ÙÙØ§ÙÛ Ø¯Ûگر)
Ø¬ÙØª جاÛگزÛÙ (Surrogate pairs)
ØªÙ Ø§Ù Û Ú©Ø§Ø±Ø§Ú©ØªØ±ÙØ§Û ٠تداÙÙ Ø¯Ø§Ø±Ø§Û Ú©Ø¯ÙØ§Û 2 Ø¨Ø§ÛØªÛ ÙØ³ØªÙد (4 رÙÙ Ùگز). ØØ±Ù٠در Ø¨ÛØ´ØªØ± Ø²Ø¨Ø§Ù ÙØ§Û ارÙپاÛÛ Ø Ø§Ø¹Ø¯Ø§Ø¯ Ù Ù Ø¬Ù ÙØ¹Ù ÙØ§Û Ø§ÛØ¯Ø¦ÙگراÙÛÚ© ÚÛÙÛØ ÚØ§Ù¾ÙÛ Ù Ú©Ø±ÙâØ§Û (CJK) Ø Ø¨Ø§ 2 Ø¨Ø§ÛØª ÙÙ Ø§ÛØ´ داد٠٠ÛâØ´ÙÙØ¯.
در ابتدا Ø¬Ø§ÙØ§ اسکرÛپت بر پاÛÙ Ø±Ù Ø²Ú¯Ø°Ø§Ø±Û UTF-16 ÙÙØ· 2 Ø¨Ø§ÛØª را Ø¨Ø±Ø§Û ÙØ± کاراکتر در ÙØ¸Ø± Ù ÛâÚ¯Ø±ÙØª. ا٠ا 2 Ø¨Ø§ÛØª ÙÙØ· Ø¨Ø±Ø§Û ÙÙ Ø§ÛØ´ 65536 ØªØ±Ú©ÛØ¨ ÙØ³Øª ٠اÛÙ Ù ÙØ¯Ø§Ø± Ø¨Ø±Ø§Û ØØ§Ùت ÙØ§Û Ù Ù Ú©Ù ÙÙ Ø§Ø¯ÙØ§Û ÛÙÙÛâکد کاÙÛ ÙÛØ³Øª.
Ø¨ÙØ§Ø¨Ø±Ø§ÛÙ ÙÙ Ø§Ø¯ÙØ§Û Ú©Ù ÛØ§Ø¨ Ú©Ù ÙÛØ§Ø²Ù ÙØ¯ Ø¨ÛØ´ از Ø¯Ù Ø¨Ø§ÛØª ÙØ³ØªÙد. با ÛÚ© Ø¬ÙØª کاراکتر 2 Ø¨ÛØªÛ بÙâÙØ§Ù âØ¬ÙØª جاÛگزÛÙ (Surrogate pairs)â Ú©Ø¯Ú¯Ø°Ø§Ø±Û Ù ÛâØ´ÙÙØ¯.
Ú©Ù ØªØ§Ø«ÛØ± Ø¬Ø§ÙØ¨Û اÛÙ Ø§ÙØ¯Ø§Ù
Ø§ÙØ²Ø§ÛØ´ Ø·Ù٠کاراکتر ب٠2 است:
alert( 'ð³'.length ); // 2, در Ø±ÛØ§Ø¶Ûات X ÙÙ
اد
alert( 'ð'.length ); // 2, اÛÙ
ÙØ¬Û ÙØ¨Ø®Ùد
alert( 'ð©·¶'.length ); // 2, ÛÚ© کاراکتر ÚÛÙÛ ÙØ§Ø¯Ø±
دÙÛ٠اÛÙ Ø§ØªÙØ§Ù اÛ٠است ک٠در Ø²Ù Ø§Ù Ø§ÛØ¬Ø§Ø¯ Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ø¬ÙØªâÙØ§Û جاÛگزÛÙ ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙد Ù Ø¨ÙØ§Ø¨Ø±Ø§ÛÙ Ø¨Ù Ø¯Ø±Ø³ØªÛ ØªÙØ³Ø· زبا٠پردازش ÙÙ ÛâØ´ÙÙØ¯!
در ØÙÛÙØª در ÙØ± ÛÚ© از رشتÙâÙØ§Û Ø¨Ø§ÙØ§ ÛÚ© ÙÙ
اد ÙØ§ØØ¯ دارÛÙ
Ø Ø¯Ø± ØµÙØ±ØªÛ Ú©Ù ÙÛÚÚ¯Û length Ù
ÙØ¯Ø§Ø± 2 را ÙØ´Ø§Ù Ù
ÛâØ¯ÙØ¯.
Ø¯Ø±ÛØ§Ùت Ù٠اد ÙÛØ² Ù ÛâØªÙØ§Ùد Ù Ø´Ú©Ù Ø¨Ø§Ø´Ø¯Ø Ø²ÛØ±Ø§ Ø¨ÛØ´ØªØ± Ø§Ø¬Ø²Ø§Û Ø²Ø¨Ø§ÙØ Ø¬ÙØªâÙØ§Û جاÛگزÛ٠را بÙâØ¹ÙÙØ§Ù د٠کاراکتر در ÙØ¸Ø± Ù ÛâÚ¯ÛØ±Ùد.
ب٠عÙÙØ§Ù Ù Ø«Ø§ÙØ در اÛÙØ¬Ø§ Ù ÛâØªÙØ§Ù د٠بخش ÛÚ© کاراکتر را Ù Ø´Ø§ÙØ¯Ù ÙÙ ÙØ¯:
alert( 'ð³'[0] ); // بخش اÙ٠از Ø¬ÙØª Ø¬Ø§ÙØ´ÛÙ - ÙÙ
Ø§ÛØ´ ÙÙ
اد ÙØ§Ø´ÙاختÙ
alert( 'ð³'[1] ); // بخش دÙÙ
از Ø¬ÙØª Ø¬Ø§ÙØ´ÛÙ - ÙÙ
Ø§ÛØ´ ÙÙ
اد ÙØ§Ø´ÙاختÙ
ÙØ³Ù تâÙØ§Û ÛÚ© Ø¬ÙØª جاÛگزÛ٠بدÙÙ ÛکدÛگر Ù Ø¹ÙØ§ÛÛ ÙØ¯Ø§Ø±Ùد. Ø¨ÙØ§Ø¨Ø±Ø§ÛÙ Ù¾ÛØºØ§Ù âÙØ§Û Ø¨Ø§ÙØ§ ÚÛØ²ÙØ§Û Ø¨Û Ù Ø¹ÙÛ ÙØ´Ø§Ù Ù ÛâØ¯ÙÙØ¯.
از ÙØ¸Ø± ÙÙÛ Ø¬ÙØªâÙØ§Û جاÛگزÛÙ (surrogate pairs) را از طرÛÙ Ú©Ø¯ÙØ§Ûشا٠Ù
ÛââØªÙØ§Ù ØªØ´Ø®ÛØµ داد. اگر کاراکتر Ø¯Ø§Ø±Ø§Û Ú©Ø¯ در باز٠0xd800..0xdbff باشد Ø Ø¢ÙÚ¯Ø§Ù ÙØ³Ù
ت اÙ٠از Ø¬ÙØª جاÛگزÛÙ (surrogate pairs) ÙØ³Øª. کاراکتر بعد (ÙØ³Ù
ت دÙÙ
) Ø¨Ø§ÛØ¯ در باز٠0xdc00..0xdfff باشد. اÛ٠بازÙâÙØ§ بÙâØ·ÙØ± Ø§ÙØØµØ§Ø±Û Ø¨Ø±Ø§Û Ø¬ÙØªâÙØ§Û جاÛگزÛÙ ØªÙØ³Ø· Ø§Ø³ØªØ§ÙØ¯Ø§Ø±Ø¯ آ٠رزر٠شدÙ.
٠تدâÙØ§Û String.fromCodePoint Ù str.codePointAt Ø¨Ù Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت اضاÙÙâØ´Ø¯ÙØ¯ تا با Ø¬ÙØªâÙØ§Û جاÛگزÛÙ (surrogate pairs) Ø¨ØªÙØ§Ù بدÙ٠٠شک٠ع٠٠کرد.
اÛÙ Ù ØªØ¯ÙØ§ Ø¨Ø³ÛØ§Ø± شبÛÙ String.fromCharCode Ù str.charCodeAt ÙØ³ØªÙØ¯Ø Ø§Ù Ø§ در Ø±ÙØªØ§Ø± با Ø¬ÙØªâÙØ§Û جاÛگزÛÙ (surrogate pairs) Ø¨Ù Ø¯Ø±Ø³ØªÛ Ø¹Ù Ù Ù ÛâÚ©ÙÙØ¯.
ØªÙØ§Ùت را در اÛÙØ¬Ø§ Ù Ø´Ø§ÙØ¯Ù Ú©ÙÛØ¯:
// را Ù
ÛâØ¯ÙØ¯ ð³ Ø¨Ù Ø¬ÙØªâ جاÛگزÛ٠آگا٠ÙÛØ³Øª Ø¨Ø±Ø§Û ÙÙ
ÛÙ ÙÙØ· کد ÙØ³Ù
ت اÙÙ charCodeAt
alert( 'ð³'.charCodeAt(0).toString(16) ); // d835
// Ø¨Ù Ø¬ÙØªâ جاÛگزÛÙ Ø¢Ú¯Ø§Ù ÙØ³Øª codePointAt
alert( 'ð³'.codePointAt(0).toString(16) ); // 1d4b3, ÙØ± Ø¯Ù ÙØ³Ù
ت را Ù
ÛØ®ÙØ§ÙØ¯
ز٠اÙÛ Ú©Ù Ø¨Ø®ÙØ§ÙÛ٠خاÙ٠دÙÙ (اÛÙØ¯Ú©Ø³ 1) را Ø¨Ø®ÙØ§ÙÛÙ (ØØ±Ú©Øª ÙØ³Ø¨ØªØ§Ù اشتبا٠در اÛÙ ÙØ³Ù ت) ÙØ± د٠ÙÙØ· ÙØ³Ù ت دÙÙ Ø¬ÙØª را بر Ù ÛâگرداÙÙØ¯.
alert( 'ð³'.charCodeAt(1).toString(16) ); // dcb3
alert( 'ð³'.codePointAt(1).toString(16) ); // dcb3
// بخش دÙÙ
از Ø¬ÙØª - ÙÙ
Ø§ÛØ´ ÙÙ
اد ÙØ§Ø´ÙاختÙ
ش٠ا راÙâÙØ§Û Ø¨ÛØ´ØªØ±Û در رابط٠با ÙØÙÙ Ø¨Ø±Ø®ÙØ±Ø¯ با Ø¬ÙØªâÙØ§Û جاÛگزÛÙ (surrogate pairs) در ÙØµÙ ØÙÙÙâÙ¾Ø°ÛØ±Ùا Ø®ÙÙÛØ¯ Ø¢Ù ÙØ®Øª. Ø§ØØªÙ Ø§ÙØ§ کتابخاÙÙâÙØ§Û Ø®Ø§ØµÛ Ø¨Ø±Ø§Û Ø§Û٠ا٠ر ÙØ¬Ùد Ø¯Ø§Ø±ÙØ¯Ø ا٠ا ÙÛÚ Ú©Ø¯Ø§Ù Ø¢ÙÙØ§ Ø¢ÙÙØ¯Ø± ٠عرÙÙ ÙÛØ³ØªÙد ک٠اÛÙØ¬Ø§ ٠عرÙÛ Ø´ÙÙØ¯.
ÙÙ ÛâØªÙØ§Ù ÛÚ© رشت٠را در ÛÚ© Ù٠ست Ø¯ÙØ®ÙØ§Ù ØªÙØ³Û٠کرد Ù ÙÙ ÛØ´Ù Ø§ÙØªØ¸Ø§Ø± ÛÚ© رشت٠٠عتبر داشت. ب٠عÙÙØ§Ù ٠ثا٠âstr.slice(0,4)â. ب٠ÙÙ ÙÙÙ ØªÙØ¬Ù Ú©ÙÛØ¯:
alert( 'hi ð'.slice(0, 4) ); // hi �
در اÛÙØ¬Ø§ Ù ÛâØªÙØ§Ù کاراکتر Ø¨Û Ù Ø¹ÙÛ (ÙÙ Û٠اÙÙ Ø¬ÙØª جاÛگزÛ٠اÛÙ ÙØ¬Û ÙØ¨Ø®Ùد) را در Ø®Ø±ÙØ¬Û Ù Ø´Ø§ÙØ¯Ù ÙÙ ÙØ¯.
Ø¯Ø±ØµÙØ±ØªÛ Ú©Ù ÙØµØ¯ Ø¯Ø§Ø±ÛØ¯ بÙâØ·ÙØ± ØºÛØ± ÙØ§Ø¨Ù اعت٠اد با Ø¬ÙØªâÙØ§Û جاÛگزÛÙ (surrogate pairs) کار Ú©ÙÛØ¯ Ø¨Ø§ÛØ¯ از اÛÙ Ù ÙØ¶Ùع Ø¢Ú¯Ø§Ù Ø¨Ø§Ø´ÛØ¯. Ø§ØØªÙ Ø§ÙØ§ Ù Ø´Ú©Ù Ø¨Ø²Ø±Ú¯Û ÙÛØ³ØªØ ا٠ا ØØ¯Ø§ÙÙ Ø¨Ø§ÛØ¯ بدا ÙÛØ¯ ÚÙ Ø§ØªÙØ§ÙÛ Ø¯Ø±ØØ§Ù رÙÛ Ø¯Ø§Ø¯Ù Ø§Ø³Øª.
Ø¹ÙØ§Ø¦Ù ØØ±Ú©Øª Ú¯Ø°Ø§Ø±Û Ù Ø¹Ø§Ø¯Û Ø³Ø§Ø²Û
در Ø¨Ø³ÛØ§Ø±Û از Ø²Ø¨Ø§Ù ÙØ§Û ÙÙØ´ØªØ§Ø±ÛØ ÙÙ Ø§Ø¯ÙØ§ÛÛ ÙØ¬Ùد Ø¯Ø§Ø±ÙØ¯ ک٠از ÛÚ© کاراکتر پاÛ٠با ÛÚ© Ø¹ÙØ§Ù ت در پاÛÛÙ ÛØ§ Ø¨Ø§ÙØ§Û آ٠تشکÛ٠شدÙâØ§ÙØ¯.
ب٠عÙÙØ§Ù Ù
Ø«Ø§Ù ØØ±Ù پاÛÙ Ù
ÛâØªÙØ§Ùد a باشد Ù ÙÙ
ÙÙÙ ÙØ§Û Ù
ÙØ§Ø¨Ù را درست کرد: à áâäãåÄ. در Ø²Ø¨Ø§Ù ÙØ§Ø±Ø³Û ÙÙ
ÙÙ
ÙÙÙâÙØ§ÛÛ Ù Ø¬ÙØ¯ دارد Ù
اÙÙØ¯ ØªØ´Ø¯ÛØ¯ در Ù
ÙÙØª Ù ØØ±Ù٠صدادار.
اکثر کاراکتر ÙØ§Û Ø±Ø§ÛØ¬ ØªØ±Ú©ÛØ¨Ø§Øª Ø®ÙØ¯ را Ù٠در جدÙÙ ÛÙÙÛâکد Ø¯Ø§Ø±ÙØ¯. ÙÙÛ ÙÙ Ù٠٠آÙÙØ§Ø Ø²ÛØ±Ø§ تعداد ØªØ±Ú©ÛØ¨Ø§Øª Ù Ù Ú©Ù Ø¨Ø³ÛØ§Ø± Ø²ÛØ§Ø¯ Ø®ÙØ§Ùد شد.
Ø¨Ø±Ø§Û Ù¾Ø´ØªÛØ¨Ø§ÙÛ Ø§Ø² ÙÙ Ù ØªØ±Ú©ÛØ¨Ø§Øª Ø¯ÙØ®ÙØ§ÙØ Ø§Ø³ØªØ§ÙØ¯Ø§Ø±Ø¯ ÛÙÙÛâکد اÛ٠ا٠کا٠را Ù ÛâØ¯ÙØ¯ تا از ÚÙØ¯ کاراکتر ÛÙÙÛâکد Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ : ÛÚ© کاراکتر پاÛÙ Ù ÛÚ© ÛØ§ ÚÙØ¯ کاراکتر â٠ارکâ ک٠ب٠کاراکتر اÙÙ Ø§ÙØ²Ùد٠٠ÛâØ´ÙØ¯ ٠آ٠را تزئÛÙ Ù Ûâ Ú©ÙØ¯.
ب٠عÙÙØ§Ù ÙÙ
ÙÙ٠در ØµÙØ±ØªÛ Ú©Ù S با کاراکتر ÙÛÚÙ âÙÙØ·Ù در Ø¨Ø§ÙØ§â (کد â\u0307) Ø¨ÛØ§ÛØ¯Ø SÌ Ø±Ø§ ÙÙ
Ø§ÛØ´ Ù
ÛâØ¯ÙØ¯.
alert( 'Sâ\u0307' ); // SÌ
اگر Ø¨Ù Ø¹ÙØ§Ù ت Ø¨ÛØ´ØªØ±Û ÙÛØ§Ø² Ø¯Ø§Ø±ÛØ¯Ø ÙÙØ· کاراکتر Ø¹ÙØ§Ù ت Ù ÙØ±Ø¯ ÙÛØ§Ø² را اضاÙÙ Ú©ÙÛØ¯.
ب٠عÙÙØ§Ù ÙÙ
ÙÙ٠در ØµÙØ±ØªÛ ک٠در Ù
رØÙÙ ÙØ¨Ù âÙÙØ·Ù در پاÛÛÙâ (کد â\u0323) را ÙÙ
اضاÙÙ Ú©ÙÛÙ
Ø Ù
ا ÛÚ© âs با ÙÙØ·Ù در پاÛÛÙ Ù Ø¨Ø§ÙØ§â Ø®ÙØ§ÙÛÙ
داشت: SÌÌ£ .
ب٠عÙÙØ§Ù ٠ثاÙ:
alert( 'S\u0307\u0323' ); // SÌÌ£
اÛÙ Ø§ÙØ¹Ø·Ø§Ù Ù¾Ø°ÛØ±Û Ø®ÙØ¨ Ù ÛâØªÙØ§Ùد Ù Ø´Ú©Ù Ø¬Ø§ÙØ¨Û را Ù¾ÛØ´ Ø¨ÛØ§Ùرد: د٠کاراکتر Ù Û ØªÙØ§ÙÙØ¯ Ø¸Ø§ÙØ±Û ÛÚ©Ø³Ø§Ù Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÙØ¯ در ØµÙØ±ØªÛ ک٠با ØªØ±Ú©ÛØ¨Ø§Øª ٠ختÙÙ ÛÙÙÛâکد Ø³Ø§Ø®ØªÙ Ø´Ø¯Ù Ø¨Ø§Ø´ÙØ¯.
ب٠عÙÙØ§Ù ٠ثاÙ:
let s1 = 'S\u0307\u0323'; // SÌÌ£, ÙÙØ·Ù در Ø¨Ø§ÙØ§ + ÙÙØ·Ù در پاÛÛÙ + S
let s2 = 'S\u0323\u0307'; // SÌ£Ì, ÙÙØ·Ù در پاÛÛÙ + ÙÙØ·Ù در Ø¨Ø§ÙØ§ + S
alert( `s1: ${s1}, s2: ${s2}` ); // s1: SÌÌ£, s2: SÌ£Ì
alert( s1 == s2 ); // Ù
ÛâØ¯ÙØ¯ در ØµÙØ±ØªÛ Ú©Ù ÛÚ©Ø³Ø§Ù Ø¨ÙØ¸Ø± Ù
ÛâØ¢ÛÙØ¯ (!Ø) flase پاسخ
Ø¨Ø±Ø§Û ØÙ اÛÙ Ù Ø´Ú©ÙØ ÛÚ© اÙÚ¯ÙØ±Ûت٠âÙØ±Ù Ø§Ù Ø³Ø§Ø²Û ÛÙÙÛâکدâ ÙØ¬Ùد Ø¯Ø§Ø±Ø¯Ú©Ù ÙØ± رشت٠را Ø¨ØµÙØ±Øª ÙØ±Ù Ûکتا Ø¢Ù ÙØ±Ù ا٠٠ÛâÚ©ÙØ¯.
Ù ØªÙØ³Ø· str.normalize()â Ù¾ÛØ§Ø¯Ù Ø³Ø§Ø²Û Ø´Ø¯Ù.
alert( "S\u0307\u0323".normalize() == "S\u0323\u0307".normalize() ); // true
Ø®ÙØ¯ÙâØ¯Ø§Ø± است Ú©Ù normalize()â Ø¯Ø± ÙØ§Ùع Ø¯ÙØ¨Ø§ÙÙ Ø§Û Ø§Ø² 3 کاراکتر را باÙÙ
جÙ
ع Ù
ÛâÚ©ÙØ¯: â\u1e68 (ØØ±Ù s با د٠ÙÙØ·Ù).
alert( "S\u0307\u0323".normalize().length ); // 1
alert( "S\u0307\u0323".normalize() == "\u1e68" ); // true
در ÙØ§ÙØ¹ÛØª ÙÙ
ÛØ´Ù اÛÙØ·Ùر ÙÛØ³Øª. دÙÛ٠آ٠اÛ٠است Ú©Ù ÙÙ
اد Ṩ Ø¨Ù Ø§ÙØ¯Ø§Ø²Ù Ø§Û Ù
ÙÙ
Ø¨ÙØ¯ Ú©Ù Ø³Ø§Ø²ÙØ¯Ú¯Ø§Ù ÛÙÙÛâکد آ٠را در جدÙ٠اصÙÛ ÙØ±Ø§Ø± دÙÙØ¯ ٠اÛ٠کد را ب٠آ٠اختصاص دÙÙØ¯.
Ø¯Ø±ØµÙØ±ØªÛ Ú©Ù Ù ÛâØ®ÙØ§ÙÛØ¯ در Ù ÙØ±Ø¯ ÙÙØ§ÙÛ٠٠اÙÙØ§Ø¹ ÙØ±Ù Ø§Ù Ø³Ø§Ø²Û Ø§Ø·ÙØ§Ø¹Ø§Øª Ø¨ÛØ´ØªØ±Û کسب Ú©ÙÛØ¯ Ø¢ÙÙØ§ در Ù¾ÛÙØ³Øª Ø§Ø³ØªØ§ÙØ¯Ø§Ø±Ø¯ ÛÙÙÛâکد ØªÙØ¶ÛØ Ø¯Ø§Ø¯Ù Ø´Ø¯ÙâØ§ÙØ¯: Unicode Normalization Forms Ø ÙÙÛ Ø¨Ø±Ø§Û Ø¨ÛØ´ØªØ± Ø§ÙØ¯Ø§Ù Ú©Ø§Ø±Ø¨Ø±Ø¯Û ØªØ§ ÙÙ ÛÙ Ø§ÙØ¯Ø§Ø²Ù کاÙÛ Ø§Ø³Øª.
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)