Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Tcl中打印笑脸_Tcl - Fatal编程技术网

如何在Tcl中打印笑脸

如何在Tcl中打印笑脸,tcl,Tcl,我有一个简单的笑脸图案,保存为一个名为smile.txt的文件 如何在工具的控制台/终端上打印此文件的内容 目标是在代码成功执行时打印一张笑脸。我不想一行一行地写“XXX”,我想这样可能更容易 这是在处理基本多语言平面(即大于U+00FFFF)之外的Unicode字符时的一个已知错误。我们希望在8.7中修复它;目前正在积极进行这项工作 变通办法 作为一种解决办法,这对我来说是可行的,但对你来说可能不可行: set t [fconfigure stdout -encoding] fconfigur

我有一个简单的笑脸图案,保存为一个名为smile.txt的文件

如何在工具的控制台/终端上打印此文件的内容


目标是在代码成功执行时打印一张笑脸。我不想一行一行地写“XXX”,我想这样可能更容易

这是在处理基本多语言平面(即大于U+00FFFF)之外的Unicode字符时的一个已知错误。我们希望在8.7中修复它;目前正在积极进行这项工作

变通办法 作为一种解决办法,这对我来说是可行的,但对你来说可能不可行:

set t [fconfigure stdout -encoding]
fconfigure stdout -encoding iso8859-1
puts "\xF0\x9F\x98\x89"
fconfigure stdout -encoding $t

这是UTF-8中所需的字节序列,因此暂时将编码转换为ISO 8859-1(这种编码很特殊,因为如果可以生成它们,它“只写入字节”),可以生成所需的序列。

我使用了一个眨眼的微笑进行测试。ð这就是我得到的。它在Windows(真正的控制台有一些非常“有趣”的代码将其粘贴到Tcl)或Tk呈现的任何窗口上都不起作用。这些需要实际的bug修复,我们还没有最终确定。或者,如果您发送作为代理项对编码的笑脸,那么在Windows上可能会起作用。你需要在那里做实验。(请记住:您所在的领域众所周知Tcl存在缺陷。不幸的是,平台不一致的行为并不令人惊讶。)