jcu*_*bic 11 character-encoding text-processing html
我想要像 ę 这样的 html 数字实体 并想将其转换为真实字符。我收到的邮件主要来自于linkedin,看起来像这样:
chciałabym zapytać, czy rozważa Pan takze udział w nowych projektach w 华沙?Obecnie poszukujemy specjalisty javascript/architekta z bardzo dobrą znajomością Angular.js do projektu, który dotyczy systemu, służącego do monitorowania i zarządzania flotą pojazdów. Zespół, do którego poszukujemy
我正在使用clawsmail,切换到html 不要将其转换为文本,我尝试复制和使用
xclip -o -sel clip | html2text | less
Run Code Online (Sandbox Code Playgroud)
但它没有转换实体。有没有办法使用命令行工具获得该文本?
我能想到的唯一方法是data:text/html,<PASTE THE EMAIL>
在浏览器中使用和打开它,但更喜欢命令行。
Sté*_*las 24
使用 Free recode
(以前称为 GNU recode
):
recode html < file
Run Code Online (Sandbox Code Playgroud)
如果您没有recode
或HTML::Entities
只需要解码&#x<hex>;
实体,您可以手动完成:
perl -Mopen=locale -pe 's/&#x([\da-f]+);/chr hex $1/gie'
Run Code Online (Sandbox Code Playgroud)
从如何解码 HTML 实体?在 StackOverflow 上,您可以实现一个简单的 perl 解决方案,例如
perl -Mopen=locale -MHTML::Entities -pe '$_ = decode_entities($_)' email.txt
Run Code Online (Sandbox Code Playgroud)
例如使用您的示例文本
$ perl -Mopen=locale -MHTML::Entities -pe '$_ = decode_entities($_)' email.txt
chcia?abym zapyta?, czy rozwa?a Pan takze udzia? w nowych projektach w Warszawie ? Obecnie poszukujemy specjalisty javascript/architekta z bardzo dobr? znajomo?ci? Angular.js do projektu, który dotyczy systemu, s?u??cego do monitorowania i zarz?dzania flot? pojazdów. Zespó?, do którego poszukujemy
Run Code Online (Sandbox Code Playgroud)
使用-Mopen=locale
,I/O 在语言环境的字符集中完成。这包括来自email.txt
. 它看起来email.txt
只包含 ASCII 字符(使用&#x<hex>;
我想的符号对这些字符进行编码的全部内容),但如果不是,您可能需要修改上述内容以使用正确的字符集解码该文件(如果它与语言环境的不同一) 而不是使用open=locale
.
python 3.2+版本,可以在管道中使用:
python3 -c 'import html, sys; [print(html.unescape(l), end="") for l in sys.stdin]' < file
Run Code Online (Sandbox Code Playgroud)