SSH 连接失败的乱码究竟是什么?

近日连接服务器,偶有提示错误,系一串三位数八进制字符代码组成的字符串,意义不明。特进行译码。

连接服务器,提示

ssh: Could not resolve hostname xxx.xyz: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243

使用Python进行初步转换

print("\262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243")

得到字符串

²»ÖªµÀÕâÑùµÄÖ÷»ú¡£

查下表,属于“拼音码”,则可能是 ISO-8859-1 编码。即,这串字符串原本以 GBK 编码,却错误地以 ISO-8859-1 编码读取。

常见乱码类型

用 VSCode 以 ISO-8859-1 编码储存,再以 GBK 打开,最终得到字符串

不知道这样的主机。

至此完成。

启发和扩展阅读

有关如何在编码间转化的启发:

https://segmentfault.com/q/1010000005032290

微软的《八进制和十六进制字符规范》,阐明了该字符串是 ASCII 字符集的八位二进制编码。在此处,八位二进制编码表示了文中所提到的 ISO-8859-1 编码。

维基百科上的 ISO/IEC 8859-1,即所提到的 ISO-8859-1 编码,该编码以 ASCII 为基础。

添加新评论