檢視原始碼 字元集和原始碼檔案編碼
字元集
Erlang 符記的語法允許使用完整的 ISO-8859-1 (Latin-1) 字元集。這在以下方面顯而易見
- 所有 Latin-1 可列印字元都可以使用,並在沒有跳脫反斜線約定的情況下顯示。
- 未加引號的原子和變數可以使用所有 Latin-1 字母。
八進位 | 十進位 | 類別 | |
---|---|---|---|
200 - 237 | 128 - 159 | 控制字元 | |
240 - 277 | 160 - 191 | - ¿ | 標點符號 |
300 - 326 | 192 - 214 | À - Ö | 大寫字母 |
327 | 215 | × | 標點符號 |
330 - 336 | 216 - 222 | Ø - Þ | 大寫字母 |
337 - 366 | 223 - 246 | ß - ö | 小寫字母 |
367 | 247 | ÷ | 標點符號 |
370 - 377 | 248 - 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-1
和 UTF-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。