檢視原始碼 字元集和原始碼檔案編碼

字元集

Erlang 符記的語法允許使用完整的 ISO-8859-1 (Latin-1) 字元集。這在以下方面顯而易見

  • 所有 Latin-1 可列印字元都可以使用,並在沒有跳脫反斜線約定的情況下顯示。
  • 未加引號的原子和變數可以使用所有 Latin-1 字母。
八進位十進位類別
200 - 237128 - 159控制字元
240 - 277160 - 191- ¿標點符號
300 - 326192 - 214À - Ö大寫字母
327215×標點符號
330 - 336216 - 222Ø - Þ大寫字母
337 - 366223 - 246ß - ö小寫字母
367247÷標點符號
370 - 377248 - 255ø - ÿ小寫字母

表格:字元類別

以下符記也允許使用 Latin-1 範圍之外的 Unicode 字元

  • 字串文字。範例:"√π"
  • 字元文字。範例:$∑
  • 程式碼中的註解。
  • 加引號的原子。範例:'μs'
  • 函式名稱。範例:'s_to_μs'(S) -> S * 1_000_000.

用作模組名稱、應用程式名稱和節點名稱的原子僅限於 Latin-1 範圍。

變更

Erlang/OTP R16B 中引入了對字串文字、字元文字和註解中 Unicode 的支援。Erlang/OTP 20 中引入了對原子和函式名稱中 Unicode 的支援。

原始碼檔案編碼

Erlang 原始碼檔案的 encoding 是由原始碼檔案的前兩行中的註解所選擇。第一個符合正規表示式 coding\s*[:=]\s*([-a-zA-Z0-9])+ 的字串會選擇編碼。如果符合的字串是無效的編碼,則會被忽略。有效的編碼為 Latin-1UTF-8,其中字元的大小寫可以自由選擇。

如果沒有有效的 coding 註解,Erlang 原始碼檔案的預設編碼為 UTF-8。

兩個範例,都選擇 Latin-1 作為原始碼檔案編碼

%% For this file we have chosen encoding = Latin-1
%% -*- coding: latin-1 -*-

變更

Erlang 原始碼檔案的預設編碼在 Erlang/OTP 17.0 中從 Latin-1 變更為 UTF-8。