gpt4 book ai didi

unicode - 是否有任何语言可以正确且完整地实现 Unicode 和跨平台?

转载 作者:行者123 更新时间:2023-12-02 16:52:31 25 4
gpt4 key购买 nike

多年来我使用过多种编程语言,我是一名纸上谈兵的语言学家和维基词典的贡献者。我一直在制作一些自己的工具来从命令行查找维基词典,但我遇到了一个令人惊讶的问题。

Neither Perl nor Python can output Unicode to the console natively under both *nix and Windows (尽管有各种解决方法)。主要原因是 *nix 操作系统喜欢 UTF-8 的 Unicode,而 Windows 喜欢 UTF-16 的 Unicode。但似乎Windows makes it very difficult to use wide characters with the console even though both the console and wprintf are wide character native .

所以问题是,如果我超越这些语言,转向 Java、C#、Scala 等,情况是否会更好。或者是否有任何脚本语言始于 Windows,然后移植到 *nix?

这是一些理想的伪代码:

function main()
{
print( L"hello, 世界" );
}

最佳答案

Does any language do Unicode and cross-platform properly and fully?

C# 非常广泛地支持 Unicode。其标准库(.NET Framework)也对 Unicode 具有出色的支持。跨平台是合理的,但并不完美:它是通过 Mono 实现的,在移动平台上通过 Xamarin 实现的。

命令行程序非常便携,但可能会被古老的遗迹所困扰,例如十年或更长时间没有更新的 SSH 终端。

Here is some ideal pseudocode:

C# 非常接近:

using System;
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.WriteLine("tést, тест, τεστ, ←↑→↓∏∑√∞①②③④, Bài viết chọn lọc");
}
}

输出的屏幕截图(使用 Consolas 或具有上述所有字符的其他字体):

proof

当然,C# 不是脚本语言;它是一种脚本语言。它对几乎所有事情的处理方式都非常不同。

关于unicode - 是否有任何语言可以正确且完整地实现 Unicode 和跨平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026345/

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