gpt4 book ai didi

c - 现代终端通常会正确呈现所有 utf-8 字符吗?

转载 作者:IT王子 更新时间:2023-10-29 01:04:11 24 4
gpt4 key购买 nike

我正在用 C 编写一个将在终端中运行的应用程序,使用一些较少使用的 unicode 字符会很方便但不是必需的。从我的实验来看,我在渲染它们时没有遇到任何问题。但是,如果将来可能出现问题,我不会使用任何非 ascii 字符。

因此,简而言之,我能否指望现代 *nix 世界(主要是 linux、freebsd 和 osx)中的任何终端或终端仿真器都能正确呈现任意 utf-8 字符?

如果我不能做出这样的假设,则存在为各种目的定义的特定 unicode 字符子集,那么某些此类子集是否至少可以在任何可能的现代 *nix 终端或终端模拟器中可靠地呈现?

注意:当我说任意时,我的意思是任意:任何 unicode 字符。但是为了我的问题的完整性,我会注意到我主要对箭头和数学字符感兴趣,此链接包含两者的列表:https://en.wikipedia.org/wiki/Unicode_symbols .

最佳答案

不,你不应该这样认为。即使在现代系统中,安装的字体集、终端应用程序使用的字体以及 LANGLC_* 等环境变量也可能影响某些终端能否正确显示字符。

您可以根据 TERMLANGLC_* 环境变量的值做出合理的猜测受支持,但这仍然是一个猜测。我建议要么根本不依赖它,要么提供一些启用/禁用使用的方法(通过环境变量和/或通过应用程序的命令行标志)。

关于c - 现代终端通常会正确呈现所有 utf-8 字符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928589/

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