Unicode 非英语编程/脚本语言是如何开发的?

Unicode 非英语编程/脚本语言是如何开发的?,unicode,encoding,internationalization,Unicode,Encoding,Internationalization,非英语编程/脚本语言是如何开发的 你需要成为一名计算机科学家吗?你需要了解Unicode如何在国际语言中构建解析器,是的,你需要是计算机科学专业的学生,或者拥有自己设计编译器的能力 学习unicode——学会使用——或者学习一门支持unicode的语言 决定并构建虚拟机(或使用虚拟机) 编写一个lexer/解析器或使用类似的东西 决定 为VM生成指令流 查看“编译器设计原则”您使用了能够编码扩展字符的字符集,如UTF8。对于UTF16,8位以上的Unicode集以双字节表示法写入,对于UTF32

非英语编程/脚本语言是如何开发的


你需要成为一名计算机科学家吗?

你需要了解Unicode如何在国际语言中构建解析器,是的,你需要是计算机科学专业的学生,或者拥有自己设计编译器的能力

  • 学习unicode——学会使用——或者学习一门支持unicode的语言
  • 决定并构建虚拟机(或使用虚拟机)
  • 编写一个lexer/解析器或使用类似的东西
  • 决定
  • 为VM生成指令流

  • 查看“编译器设计原则”

    您使用了能够编码扩展字符的字符集,如UTF8。对于UTF16,8位以上的Unicode集以双字节表示法写入,对于UTF32,则以四字节表示法写入。出现的问题与dibi(双向表示法)有关,其中使用不同bidi表示法的语言可能以不同顺序读取字节。bidi问题的解决方案是通过在字符编码之前指定字节顺序,但问题仍然在于bidi的差异。因此,字节顺序通过Unicode字符集的一个更具体的子集来明确说明。对于big-endian,UTF16BE要求在从右到左的解释中,字节顺序规范优先于字符编码。相反的是UTF16LE,或little endian

    还有UCS,通用字符集。此术语仍在使用,但不推荐使用,因为它对于上面提到的映射占用多个字节的字符的问题不够具体。有关UCS和Unicode之间差异的信息,请阅读以下内容:

    以下是一些示例:
    IRI-RFC3987——强制UTF8编码

    邮件标记语言--UTF16BE编码

    您能举例说明您所指的语言吗?也要比“它们是如何发展的”更具体一点?你到底想听到什么?比如“对不同语言的支持”,或者像星期二的solange($iallready)提供了指向以下内容的链接:D