我试图让一个telnet客户端作为一个辅助项目工作,我看到这个gist作为一个基本的例子。但是,当我在ghci中编译并运行它时,您会看到编码出现乱码。以下是角色的参考:
���� ��#��'
我的猜测是,这是因为当telnet使用7-bit ASCII / special telnet bit for codes时,Conduit默认为UTF-8进行所有传输。此外,stdout /终端是否能够直接解释UTF-8,而无需进行任何转换?
提前谢谢!
答案 0 :(得分:1)
管道不对字符编码做任何假设,你从gist中使用的函数都纯粹在二进制级别上运行。看起来你正在连接的telnet服务器(不出所料)将非ASCII数据作为特殊命令发送出去,而你将它们直接发送到终端,终端无法显示它们。