小编Ale*_*yan的帖子

如何将 U+xxxxx 代码指定的表情符号转换为 utf-8?

表情符号似乎使用 U+xxxxx 格式指定,
其中每个 x 是一个十六进制数字。

例如,U+1F615是“困惑的脸”的官方 Unicode Consortium 代码

由于我经常感到困惑,我对这个符号有很强的亲和力。

U + 1F615表示是混淆我,因为我认为有可能为Unicode字符的唯一编码所需的8,16,24或32位,而5个十六进制数字需要5×4 = 20比特。

我发现这个符号在 bash 中似乎由一个完全不同的十六进制字符串表示:

$echo -n  | hexdump
0000000 f0 9f 98 95                                    
0000004

$echo -e "\xf0\x9f\x98\x95"


$PS1=$'\xf0\x9f\x98\x95  >'
  >
Run Code Online (Sandbox Code Playgroud)

我本来希望U+1F615转换为类似\x00 \x01 \xF6 \x15 的东西

我没有看到这两种编码之间的关系?

当我在官方 Unicode Consortium 列表中查找符号时,我希望能够直接使用该代码,而不必以这种繁琐的方式手动转换它。IE

  • 在某个网页上找到该符号
  • 将其复制到网络浏览器的剪贴板
  • 将其粘贴到 bash 中以通过十六进制转储回显以发现真正的代码。

我可以使用这个 20 位代码来确定 32 位代码是什么吗?

这两个数字之间是否存在关系?

shell character-encoding unicode

19
推荐指数
3
解决办法
7694
查看次数

什么是命令?

当使用不同的术语代表不同的概念时,可以促进清晰的思维和清晰的沟通。

当两个概念非常相似但又不同时,这特别有用。

我们倾向于使用术语“命令”来表示两个非常相似但不同的概念。

概念 1:在命令行界面上输入的单个程序。

选项可能会传递给程序,但仍然只有 1 个程序正在使用。

例子):

$ ls
$ ls -alF
Run Code Online (Sandbox Code Playgroud)

这个概念被称为“命令”。

概念 2:在按 Enter 键指示 shell 处理之前在命令行界面上输入的任何内容。

例子):

$ ls -alF | head > output.txt; cat output.txt
Run Code Online (Sandbox Code Playgroud)

这个概念也称为“命令”。
即使根据前面的定义它包含 3 个不同的“命令”,情况也是如此。

对于那些希望使用不同术语来表示不同概念以便更精确地思考和交流想法的人来说,使用什么术语来表示这两个不同的概念最好?

shell terminology command

1
推荐指数
1
解决办法
359
查看次数