规整。豫
yuyan · 91 行 · 6410 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「云工宿主」之「核心」之书。
「:文言:输入至多一 MiB(UTF-8 字节)。汉语:单次输入的 UTF-8 字节上限,超出则抛出豫言异常,避免一次交换过大。:」
「文字上限字节」乃「整数」也。
「文字上限字节」者「一零四八五七六」也。
「验文字大小」乃化「字符串」而「有」也。
「验文字大小」者会「文」而
若「大于」于(「字节长度」于「文」)于「文字上限字节」则
「发生事故」授以「有」于『文字超过 1 MiB』
否则
「元」
也。
「:文言:以原字节入宿主,由 TextDecoder 还为 JS 字符串(ignoreBOM 使文首之 U+FEFF 不失),再造 String 对象,返其句柄号。全程不经豫言之 JSON 转义,故任何字符皆无损。汉语:先把字符串的 UTF-8 字节交给宿主,用 TextDecoder(ignoreBOM: true)还原成 JS 字符串;再用宿主返回的 JSON 字面量构造 String 对象并返回句柄号。整个过程不经过豫言的 JSON 编码器,所以控制字符、引号、U+2028 等都不会出错。:」
「造字符串对象」乃化「字符串」而「字符串」也。
「造字符串对象」者会「文」而
虑「字节号」者「云工字节成句柄」于(「字符串转字节串」于「文」)而
虑「解码器号」者
「取云工句柄」于(「云工构造对象」于『TextDecoder』于『["utf-8",{"ignoreBOM":true}]』)而
虑「字面」者
「云工调用方法」于「解码器号」于『decode』于(『[』附(「云工句柄引用文」于「字节号」)附『]』)而
虑「无」者「云工释放句柄」于「字节号」而
虑「无」者「云工释放句柄」于「解码器号」而
「取云工句柄」于(「云工构造对象」于『String』于(『[』附「字面」附『]』))
也。
「:文言:宿主所返之 JSON 字面量,仍交宿主 TextEncoder 编为 UTF-8,再按原字节取回;豫言不解析 JSON 转义。汉语:把宿主返回的 JSON 字符串字面量再交给 TextEncoder 编码为 UTF-8 字节并取回,用 TextDecoder(ignoreBOM: true)还原为豫言字符串;豫言一侧完全不解析 JSON 转义,因此 \u 转义、孤立代理项之外的一切字符都精确往返。:」
「字面还原为文」乃化「字符串」而「字符串」也。
「字面还原为文」者会「字面」而
虑「编码器号」者
「取云工句柄」于(「云工构造对象」于『TextEncoder』于『[]』)而
虑「字节号」者
「取云工句柄」于(「云工调用方法」于「编码器号」于『encode』于(『[』附「字面」附『]』))而
虑「字节」者「云工句柄取字节」于「字节号」而
虑「无」者「云工释放句柄」于「编码器号」而
虑「无」者「云工释放句柄」于「字节号」而
「云工解码文字」于『utf-8』于「阴」于「阳」于「字节」
也。
「:文言:调 String 对象之无参方法,返文;用毕释诸句柄,使单次事件内可屡屡调用而不竭句柄。汉语:在 String 对象上调用无参方法并取回结果字符串,用完释放句柄,避免单次事件里多次调用耗尽句柄表。:」
「宿主字符串方法」乃化「字符串」而化「字符串」而「字符串」也。
「宿主字符串方法」者会「文」而会「方法」而
虑「无」者「验文字大小」于「文」而
虑「对象号」者「造字符串对象」于「文」而
虑「字面」者「云工调用方法」于「对象号」于「方法」于『[]』而
虑「无」者「云工释放句柄」于「对象号」而
「字面还原为文」于「字面」
也。
「:文言:授 String.prototype.trim,其空白之界即 ECMAScript 之 WhiteSpace 与 LineTerminator。汉语:交给 String.prototype.trim,空白的范围就是 ECMAScript 的 WhiteSpace 与 LineTerminator。:」
「去首尾空白」乃化「字符串」而「字符串」也。
「去首尾空白」者会「文」而
「宿主字符串方法」于「文」于『trim』
也。
「:文言:授 String.prototype.toLowerCase,用完整之 Unicode 映射与词尾之规。汉语:交给 String.prototype.toLowerCase,使用完整 Unicode 映射和上下文规则。:」
「转小写」乃化「字符串」而「字符串」也。
「转小写」者会「文」而
「宿主字符串方法」于「文」于『toLowerCase』
也。
「:文言:读 String 对象之 length 属性,即 UTF-16 码元之数。汉语:读取 String 对象的 length 属性,即 UTF-16 码元数;增补平面字符计为 2。:」
「UTF16长度」乃化「字符串」而「整数」也。
「UTF16长度」者会「文」而
虑「无」者「验文字大小」于「文」而
虑「对象号」者「造字符串对象」于「文」而
虑「长文」者「云工读取属性」于「对象号」于『length』而
虑「无」者「云工释放句柄」于「对象号」而
「理解整数」于「长文」
也。
「:
文言:以 RegExp 之 \p{L}\p{N} 判文,文非空而诸字皆字母或数字则阳;用毕释诸句柄。
汉语:在宿主构造 RegExp 对象 /^[\p{L}\p{N}]+$/u 并对 String 对象调用 test,语义与 JS 完全一致(Unicode 版本由宿主引擎决定);用完释放 String 与 RegExp 句柄。
:」
「全为字母或数字吗」乃化「字符串」而「爻」也。
「全为字母或数字吗」者会「文」而
虑「无」者「验文字大小」于「文」而
虑「对象号」者「造字符串对象」于「文」而
虑「正则号」者
「取云工句柄」于(「云工构造对象」于『RegExp』于『["^[\\p{L}\\p{N}]+$","u"]』)而
虑「果文」者
「云工调用方法」于「正则号」于『test』于(『[』附(「云工句柄引用文」于「对象号」)附『]』)而
虑「无」者「云工释放句柄」于「对象号」而
虑「无」者「云工释放句柄」于「正则号」而
「串相等」于「果文」于『true』
也。