无法将表情符号打印到控制台

问题描述 投票:0回答:1

根据此表,笑脸表情符号的UTF8代码是:

F0 9F 98 81

我尝试将此输出写入控制台,但无济于事:

Program emojii;

{$apptype CONSOLE}

Begin
  WriteLn(#$F0#$9F#$98#$81);
End.

我得到的回应是行话:

😁

我使用的是支持表情符号的Windows Terminal Powershell,如下图所示:

我正在使用 FreePascal:

Free Pascal Compiler version 3.2.2 [2024/02/26] for x86_64
。我使用以下命令构建:

fpc emojii.pas
windows pascal freepascal
1个回答
0
投票

您的 pascal 程序及其结果是正确的。

更改全局 Windows 编码设置或 shell 设置以使用 utf-8 编码。 将 PowerShell 的默认输出编码更改为 UTF-8

如果您的编码不同并且您必须支持该编码,则必须更改您的代码。不幸的是我没有任何 M$ Windows PC。但你的表情符号代码可以写成:

  • UTF-8:$F0 $9F $98 $81(十六进制)
  • UTF-8:&360 &237 &230 &201(八进制)
  • UTF-16:$D83D $DE01(十六进制)
  • UTF-32:$1F601(十六进制)
© www.soinside.com 2019 - 2024. All rights reserved.