0

pine/alpine 地址簿的语法对于 unicode 字符是如何工作的?说我想包含条目

Nickname  : søren
Fullname  : sørensen
Fcc       : 
Comment   : 
Addresses : soren@sorensen.something

在我的高山通讯录中。当我打开地址簿文件时,此条目对应于以下行:

=?UTF-8?Q?s=C3=B8ren?=  =?UTF-8?Q?s=C3=B8rensen?=   soren@sorensen.something

我想知道这种 utf-8 字符的语法是如何工作的。我对这个问题的动机如下:我希望能够(通过搜索和替换)生成一个地址簿文件,其中真正的 utf-8 字符出现(因为这更具可读性),然后编辑文件,然后然后将 utf-8 字符转换回 pine/alpines 语法。

4

1 回答 1

0

我已经非常了解语法了:

本地地址簿(或远程地址簿的本地缓存文件)是简单的文本文件,其行格式为:

<nickname>TAB<fullname>TAB<address>TAB<fcc>TAB<comments>

最后两个字段是可选的。一个“行”可以由文件中的多个实际行通过使用连续行(以空格字符开头的行)组成。换行符可能在制表符之后或在分发列表中的地址之间。文件中的每个实际行的长度必须少于 1000 个字符。

这直接引自页面: Alpine 官方消息传递系统主页上的Alpine Technical Notes页面。我不知道的部分,现在有一个漂亮的上帝猜测,是关于它如何处理 utf-8 字符的部分。似乎对于每个字段<nickname><fullname><address><fcc><comments>,如果该字段包含某些“特定”字符,例如 æ、ø 或 å,则=?UTF-8?Q?放置在该字段的开头和?=末尾。现在,在这两个标记之间放置字段的内容,但空格替换为og_替换“某些”字符,具体取决于字符 UTF-8 代码是或者只是=XX=YY=YYXX YYYY. 作为一个例子ø被替换为=C3=B8,因为 UTF-8 代码øC3 B8. 此外,å!;分别被替换为=C3=A5=21=3B,因为它们的 UTF-8 代码分别是C3 A5213B

注意:我不确定是哪些字符使 Alpine 实现了标签=?UTF-8?Q??=,但我知道它的字符数少于转换为 UTF-8 代码的字符数。例如,一个字段包含

sorensen, soren

只会写成 af sorensen, soren,但一个字段包含

sørensen, søren

将被转换为

=?UTF-8?Q?s=C3=B8rensen=2C_s=C3=B8ren?=

我并不完全确定这是否正确,但就我查看的地址簿而言,这似乎是一个非常好的猜测。

于 2013-02-05T13:15:29.113 回答