gpt4 book ai didi

python - Windows 上的 Unicode 更改控制台字体

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:10 25 4
gpt4 key购买 nike

我正在将 unicode 字符输出到 Windows 上的控制台,当我手动将字体更改为 Lucidia Grande 时,输出符合预期。但我的问题是,Python、Ruby 等如何使用默认字体将 unicode 字符输出到 Windows 控制台?我认为默认字体不支持所有 unicode 字符?

最佳答案

how can Python, Ruby etc ... output unicode characters to the Windows console using the default font?

它们不能也不显示所有 Unicode 字符。默认控制台字体又称为“光栅字体”,映射到 .fon 文件,其中包含您所在区域的 DOS 代码页中的字符的字形。对于西欧安装,即 code page 850 。您确实会在此代码页中看到一些重音字母和其他非 ASCII 字符,但更广泛的 Unicode 中的任何其他字符都将显示为 ?

实际上,即使您更改为矢量字体,当您运行使用标准库 I/O 函数的 MS C 运行时实现(Python 和 Ruby 就是这样做的)的程序时,您仍然仅限于单个代码页。您可以获得更多选择,因为您可以使用 chcp 更改为比“光栅字体”支持的更广泛的代码页,但您仍然无法通过这种方式获得所有 Unicode。

(原则上,您应该能够通过 chcp 65001 获取 UTF-8,但是 Windows 实现中存在严重错误,通常导致其无法使用。或者 chcp 65000 用于 UTF-16,但由于它不是 ASCII 超集,因此它往往会破坏 stdio 应用程序,包括 Python/Java 等。)

关于python - Windows 上的 Unicode 更改控制台字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23725482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com