API/unicode/zh: Difference between revisions
Jump to navigation
Jump to search
imported>OCDoc Import Imported from legacy OpenComputers documentation at ocdoc.cil.li |
Clean up Markdown artifacts from DokuWiki migration |
||
| Line 7: | Line 7: | ||
我们提供下列函数以支持基本的UTF-8处理: | 我们提供下列函数以支持基本的UTF-8处理: | ||
* | * <code>unicode.char(value: number, ...): string</code> <code>string.char</code>的可支持UTF-8版本。传入值限定为整个UTF-8取值范围,不仅仅是ASCII。 | ||
* | * <code>unicode.charWidth(value: string, ...): number</code> 返回给定字符串中第一个字符的宽度。例如,给定<code>シ</code>将会返回<code>2</code>,给定<code>a</code>将会返回<code>1</code>。 | ||
* | * <code>unicode.isWide(value: string, ...): boolean</code> 返回给定字符串中第一个字符的宽度是否大于1。例如,给定<code>シ</code>将会返回<code>true</code>,给定<code>a</code>将会返回<code>false'</code>。 | ||
* | * <code>unicode.len(value: string): number</code> <code>string.len</code>的可支持UTF-8版本。例如,给定<code>Ümläüt</code>,本函数将会返回<code>6</code>,而<code>string.len</code>会返回<code>9</code>。 | ||
* | * <code>unicode.lower(value: string): string</code> <code>string.lower</code>的可支持UTF-8版本。 | ||
* | * <code>unicode.reverse(value: string): string</code> <code>string.reverse</code>的可支持UTF-8版本。例如,给定<code>Ümläüt</code>,本函数将会返回<code>tüälmÜ</code>,而<code>string.reverse</code> 会返回<code>tälm</code>。 | ||
* | * <code>unicode.sub(value: string, i:number[, j:number]): string</code> <code>string.sub</code>的可支持UTF-8版本。 | ||
* | * <code>unicode.upper(value: string): string</code> <code>string.upper</code>的可支持UTF-8版本。 | ||
* | * <code>unicode.wlen(value: string): number</code> 返回整个字符串的宽度。 | ||
* | * <code>unicode.wtrunc(value: string, count: number): string</code> 截取给定字符串的前<code>count</code>位,不含此位。如果字符串长度不足给定的<code>count</code>数,函数将会报错。 | ||
上述函数被用于以非二进制模式打开文件时,而原版字符串处理函数被用于以二进制模式打开文件时。 | 上述函数被用于以非二进制模式打开文件时,而原版字符串处理函数被用于以二进制模式打开文件时。 | ||
| Line 23: | Line 23: | ||
{{:API/contents/zh}} | {{:API/contents/zh}} | ||
Latest revision as of 20:27, 24 August 2026
Unicode API
所有的字符串数据都需要在某些时候通过Java传递,因此在处理它们时添加Unicode支持可能会有所帮助(因为Java内部的字符串使用UTF-8编码)。具体而言,屏幕会显示UTF-8字符串,意味着相关的GPU函数需接收UTF-8字符串。而且键盘输入通常也会以UTF-8编码,尤其是剪切板。
但是请记住,尽管电脑可以显示宽字符,但OpenOS的软件(shell、edit和Lua解释器)对其输入输出的支持并不全面。
我们提供下列函数以支持基本的UTF-8处理:
unicode.char(value: number, ...): stringstring.char的可支持UTF-8版本。传入值限定为整个UTF-8取值范围,不仅仅是ASCII。unicode.charWidth(value: string, ...): number返回给定字符串中第一个字符的宽度。例如,给定シ将会返回2,给定a将会返回1。unicode.isWide(value: string, ...): boolean返回给定字符串中第一个字符的宽度是否大于1。例如,给定シ将会返回true,给定a将会返回false'。unicode.len(value: string): numberstring.len的可支持UTF-8版本。例如,给定Ümläüt,本函数将会返回6,而string.len会返回9。unicode.lower(value: string): stringstring.lower的可支持UTF-8版本。unicode.reverse(value: string): stringstring.reverse的可支持UTF-8版本。例如,给定Ümläüt,本函数将会返回tüälmÜ,而string.reverse会返回tälm。unicode.sub(value: string, i:number[, j:number]): stringstring.sub的可支持UTF-8版本。unicode.upper(value: string): stringstring.upper的可支持UTF-8版本。unicode.wlen(value: string): number返回整个字符串的宽度。unicode.wtrunc(value: string, count: number): string截取给定字符串的前count位,不含此位。如果字符串长度不足给定的count数,函数将会报错。
上述函数被用于以非二进制模式打开文件时,而原版字符串处理函数被用于以二进制模式打开文件时。
目录
| < 100% 15% 15% > | ||
| API | OpenOS | buffer - colors - component - computer - event - filesystem - uuid - internet - keyboard - note - process - rc - robot - serialization - shell - sides - term - text - thread - transforms - unicode |
| ::: | Lua 库 | coroutine - package - io - os |