在Lua中制作心形符号有困难吗?

我在想如何在 Lua 中制作心形符号或 "♥",我尝试过使用 \003,因为它是其 ASCII 代码,但它并未打印出来。

点赞
用户1009479
用户1009479

对于 ASCII 码,只有范围为 0x200x7E 的字符可以被打印输出。其他字符,包括 0x03,则无法被打印输出。如何输出它们的值取决于实现方式。

如果环境支持 Unicode,则可以简单地调用以下命令:

print("♥")

例如,Lua Demoideone 都输出了 ♥

2014-10-28 03:42:52
用户2226988
用户2226988

这与 Lua 没有太大关系。

你需要找出你的环境使用了哪种字符集和编码方式,并选择支持该编码方式中的字符 ♥ 的字体。

然后你需要使用一种能保存选定编码的编辑器来编写 Lua 脚本。如果这部分不可能,那你可以确定所需的字节序列,将其编码成数字转义序列存储在兼容的编码(如 CP437)中。例如,如果你要输出到一个 UTF-8 处理器,可以用 "\xE2\x99\xA5" 。

请注意,Lua 字符串是一组按字节计数的序列。你必须自己和你的编辑器在文件中输入正确的字节,你的环境(比如控制台)要根据特定字符编码来解释这些字节,而字体要负责显示字形。

在 Windows 控制台中,你可以选择使用 Lucinda Console 字体,chcp 65001 来使用 UTF-8 并像这样使用 Lua 5.1:lua -e "print('\226\153\165')"。做一个比较,chcp 437 是使用 IBM437 并像这样使用 Lua 5.1:lua -e "print('\003')"

2014-10-28 04:54:12