首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2.字符集和源文件编码 | 2. Character Set and Source File Encoding

2.1字符集

Erlang令牌的语法允许使用完整的ISO-8859-1(Latin-1)字符集。这在以下方面是显而易见的:

  • 所有的Latin-1可打印字符都可以使用,并且不显示退避反斜线约定。
  • 原子和变量可以使用所有拉丁字母。

八进制

十进制

200 - 237

128 - 159

控制字符

240 - 277

160 - 191

¿

标点符号

300 - 326

192 - 214

À - Ö

大写字母

327

215

×

标点符号

330 - 336

216 - 222

Ø - Th

大写字母

337 - 366

223 - 246

ß - ö

小写字母

367

247

÷

标点符号

370 - 377

248 - 255

ø - ÿ

小写字母

  • ¿

标点符号300 - 326192 - 214À - Ö大写字母327215×标点符号330 - 336216 - 222Ø - Th大写字母337 - 366223 - 246ß - ö小写字母367247÷标点符号370 - 377248 - 255ø - ÿ小写字母

在Erlang / OTP R16B中,扩展了Erlang令牌的语法来处理Unicode。支持仅限于字符串文字和评论。关于在Erlang源文件中使用Unicode的更多信息可以在下面找到STDLIB's User's Guide

从Erlang / OTP 20中,原子和函数名称也允许包含ISO-Latin-1范围之外的Unicode字符。模块名称,应用程序名称和节点名称仍仅限于ISO-Latin-1范围。

2.2源文件编码

Erlang源文件encoding由源文件的前两行中的一行中的注释选择。匹配正则表达式的第一个字符串coding\s*[:=]\s*([-a-zA-Z0-9])+选择编码。如果匹配的字符串是无效的编码,它将被忽略。有效编码是Latin-1UTF-8,其中所述字符的情况下,可以自由地选择。

以下示例选择UTF-8作为默认编码:

代码语言:javascript
复制
%% coding: utf-8

另外两个例子,都选择拉丁语作为默认编码:

代码语言:javascript
复制
%% For this file we have chosen encoding = Latin-1
代码语言:javascript
复制
%% -*- coding: latin-1 -*-

自Erlang/OTP 17.0以来,Erlang源文件的默认编码从Latin-1更改为UTF-8。

扫码关注腾讯云开发者

领取腾讯云代金券