C# Unicode问题

C# Unicode问题,c#,java,c++,unicode,C#,Java,C++,Unicode,1.)C#和Java Unicode之间有什么区别? 2)C++ Unicode仅限于Windows应用程序吗? 3)我是否总是需要添加C++中不同于C++中的特定代码包来使用Unicode? 4.)所有平台上最受支持的Unicode语言是什么? 5.)是微软开始了这种Unicode趋势,还是除了.NET和Java之外,还有其他更老的Unicode语言从一开始就支持Unicode?Unicode不受编程语言的约束。你可能想通过阅读来澄清问题 1.)C#和Java Unicode之间有什么区别 与

1.)C#和Java Unicode之间有什么区别?
2)C++ Unicode仅限于Windows应用程序吗? 3)我是否总是需要添加C++中不同于C++中的特定代码包来使用Unicode? 4.)所有平台上最受支持的Unicode语言是什么?

5.)是微软开始了这种Unicode趋势,还是除了.NET和Java之外,还有其他更老的Unicode语言从一开始就支持Unicode?

Unicode不受编程语言的约束。你可能想通过阅读来澄清问题

1.)C#和Java Unicode之间有什么区别

与两种语言/环境分开。这两种环境都支持它,并且在使用其中一种Unicode编码读取或写入文本时,它们都必须遵守Unicode联盟的规范,这一点很重要

< P > 2)是C++ + Unicode仅限于Windows应用程序?

没有

“我是否总是需要添加C++中的特定C++包,它与C++中的Unicode不同?” 对不起,我不知道这个。(编辑:,如果编译器和环境支持它,并且您使用的是现代构造。)

4.)所有平台上最受支持的Unicode语言是什么

你可能是说什么。我不知道,但我希望平台要么支持,要么不支持流行的编码(UTF-8和UTF-16)

如果你指的是人类语言,那么它将是英语和大多数其他西方语言,但在这个阶段对东方语言的支持也很强大

5.)是微软开始了这种Unicode趋势,还是除了.NET和Java之外,还有其他更老的Unicode语言从一开始就支持Unicode

Java比.Net早很多。但Unicode比这两者都早

建议阅读(按顺序):

  • Unicode是一种独立于C#、Java或任何其他编程语言的标准

  • 没有

  • 如果您的编译器/系统不支持unicode,则可以:

    ofstream fout("aaa.txt");
    fout << "Hi, привет\n"; 
    
    ofstreamfout(“aaa.txt”);
    fout1.)Unicode是独立于语言的
    2.)否。请参见#1
    3)不知道。对不起。
    4.)如果您指的是Unicode版本?UTF-8

    不知道。对不起。
    Unicode是一种国际标准,用于为可见标志符号指定数值。还有一些标准(UTF-8、UTF-16等)用于使用字节值的有序列表表示这些数值。注意,还有许多其他标准用于为字形指定数值,例如ASCII、USASCI、各种Microsoft代码页映射,更不用说非英语字符集的映射了。 这些值不是编程语言依赖关系,Unicode值独立于C++、C++或java。
    与早期语言不同,如C和C++,Unicode字符表示是内置于java的,所以不必做任何特殊的事情来支持Unicode。也就是说,您仍然需要区分字符的unicode“值”和该“值”在数据文件中的表示方式。例如,包含ASCII字符的数据文件可以读入Java字符串,但您必须告诉Java您正在读取的文件包含ASCII映射,而不是包含其他映射的文件。(顺便说一句,UNICODE的人很容易做到这一点,因为前128个ASCII字符的映射在ASCII和UNICODE中是相同的,而且,这128个字符在UTF-8中的表示形式也相当于ASCII-因此,任何ASCII数据都可以被视为UTF-8编码的UNICODE)。

    我是一名日本开发人员。我试着回答你的问题

    1.)C#和Java Unicode之间有什么区别

    这个问题很难回答。当我们使用UNICODE时,有 我们必须考虑的许多方面,例如字体支持、本机代码映射、输入方法。

    简单的回答是:C#和Java(以及C/C++)都在内部使用UTF-16。 因此,它们几乎是相同的。我们在使用UNICODE时没有问题

    < P > 2)是C++ + Unicode仅限于Windows应用程序?

    C/C++标准将wchar\u t指定为UNICODE字符。您可以将wchar\t与任何C/C++编译器一起使用

    “我是否总是需要添加C++中的特定C++包,它与C++中的Unicode不同?” 为了正确处理UNICODE,您需要使用宽字符版本库。 在C语言中,wprintf,wscanf。。。在C++中,STD::WcOUT,STD::WCIN,… (VisualC++有Unicode编译选项。编译前需要检查)

    4.)所有平台上最受支持的Unicode语言是什么

    如果这意味着‘UTF-8’/‘UTF-16’,正如我已经提到的,平台使用UTF-16作为内部代码。但当应用程序从外部获取数据或将数据放到外部时,可能需要将UTF-16转换为UTF-8或本机编码

    在日本,我们通常在Windows上使用Shift JIS编码(我们的原生字符编码之一)。但最近许多实用程序(如文本编辑器)支持UTF-16/UTF-8,因此 我们可能不需要改变信仰

    5.)是微软开始了这种Unicode趋势,还是除了.NET和Java之外,还有其他更老的Unicode语言从一开始就支持Unicode


    我认为Windows2000将是第一个内部使用UNICODE的Windows,Win95/98使用本机字符编码(日语Win95/98内部使用Shift-JIS)

    最好是问5个独立的问题,每个问题都有自己的答案,而不是像这样的一个大问题可能得不到答案。你是对的,但我试着把所有问题都放在一个位置上,我不希望每个人都回答所有问题,但我希望每个用户至少有一个回答我的问题。我假设你所说的“Microsoft Unicode”只是一个2字节的字符,因为它在Windows的“宽字符串”中使用。@Oded:是的,我的第一个想法是“嘿,这应该是五个问题”,但这个问题作为一个