代码之家  ›  专栏  ›  技术社区  ›  yaro

TCL Format命令返回错误的UTF-8字符

tcl
  •  0
  • yaro  · 技术社区  · 8 年前

    我只在TCL中实现了一个套接字客户端。服务器需要被告知客户端发送的消息的长度,所以我用消息长度的utf-8字符来预加消息的长度。我使用TCL Format命令将消息长度转换为utf-8字符。

    然而,Format命令并不总是返回正确的utf-8字符,这使服务器感到困惑。 例如,在下面的示例代码中,格式返回§For 21和167:

    % format %c 21
    §
    % format %c 167
    §
    

    可能是我做错了什么吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Donal Fellows    8 年前

    §应来自 format %c 167 ; 考虑到它是 section sign character . 相比之下 format %c 21 应产生一个 non-printable NAK character ,但由于某些原因,您的终端呈现方式有所不同。(我不确定它返回到了什么解释;我手头的编码表中没有列出它。)