Skip to content

API Chr zh tw

Codex edited this page Oct 3, 2026 · 1 revision

Chr

API · BASIC

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

ASC · Chr · len · StrComp

ClassicUO • Runtime API

建立 Unicode 或控制字元,用來組合文字。

完整語法

Chr(value:Integer) -> String

參數

  • value — Integer 代碼限制在 0..0x10FFFF;代理碼 0xD800..0xDFFF 會產生可攔截的錯誤。

傳回值

包含一或兩個 UTF-16 碼元的 String。Chr(0) 是 NUL,不是空字串;emoji 佔兩碼元,ASC 不會還原其完整代碼。

行為

  • 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。
  • 需要 Integer,不能直接傳 Decimal。Tab 與換行是文字字元,不是按鍵;呈現方式取決於顯示元件。

內部函式:從呼叫到結果

BasicChr 限制代碼後呼叫 ConvertFromUtf32;大於 0xFFFF 的有效代碼建立代理對。

1. BasicChr / Char.ConvertFromUtf32

BasicChr 限制代碼後呼叫 ConvertFromUtf32;大於 0xFFFF 的有效代碼建立代理對。

包含一或兩個 UTF-16 碼元的 String。Chr(0) 是 NUL,不是空字串;emoji 佔兩碼元,ASC 不會還原其完整代碼。

專案原始碼: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 函式 BasicChr / Char.ConvertFromUtf32.

需要 Integer,不能直接傳 Decimal。Tab 與換行是文字字元,不是按鍵;呈現方式取決於顯示元件。

範例

建立 Tab 分隔資料

# 建立 Tab 分隔資料
#
# 建立 Unicode 或控制字元,用來組合文字。
#
# 包含一或兩個 UTF-16 碼元的 String。Chr(0) 是 NUL,不是空字串;emoji 佔兩碼元,ASC 不會還原其完整代碼。

SUB Main()
    # Chr(9) 分隔 ore 與 50,傳回 ore<TAB>50 供後續使用。
    # 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。

    Dim resource = "ore"
    Dim amount = 50
    Return resource & Chr(9) & CStr(amount)
END SUB

參數與執行說明:

  • Chr(9) 分隔 ore 與 50,傳回 ore50 供後續使用。
  • 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。

準備兩行文字

# 準備兩行文字
#
# 建立 Unicode 或控制字元,用來組合文字。
#
# 包含一或兩個 UTF-16 碼元的 String。Chr(0) 是 NUL,不是空字串;emoji 佔兩碼元,ASC 不會還原其完整代碼。

SUB Main()
    # Chr(13) 和 Chr(10) 在 First 與 Second 間插入 CRLF,不傳送文字。
    # 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。

    Dim summary = "First" & Chr(13) & Chr(10) & "Second"
    Return summary
END SUB

參數與執行說明:

  • Chr(13) 和 Chr(10) 在 First 與 Second 間插入 CRLF,不傳送文字。
  • 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。

處理無效代碼

# 處理無效代碼
#
# 建立 Unicode 或控制字元,用來組合文字。
#
# 包含一或兩個 UTF-16 碼元的 String。Chr(0) 是 NUL,不是空字串;emoji 佔兩碼元,ASC 不會還原其完整代碼。

SUB Main()
    # SafeCharacter 在錯誤時傳回空文字。0x1F600 有效,Len 得到 2,雖然只有一個 Unicode 純量。
    # 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。

    Dim symbol = SafeCharacter(0x1F600)
    Return Len(symbol)
END SUB

Function SafeCharacter(code)
    Try
        Return Chr(code)
    Catch problem
        Return ""
    End Try
End Function

參數與執行說明:

  • SafeCharacter 在錯誤時傳回空文字。0x1F600 有效,Len 得到 2,雖然只有一個 Unicode 純量。
  • 僅在本機處理範例資料並傳回值;不傳送聊天、不停止腳本、不移動物品,也不連線至伺服器。

Clone this wiki locally