none
关于输入法的疑问 RRS feed

  • 问题

  • 请问一下输入法是否是将用户的键盘输入转化为汉字的编码,然后发送给编辑框?输入法发送的编码是Unicode编码还是ANSI编码?
    2019年2月15日 0:40

全部回复

  • 你好,

    感谢在MSDN论坛发帖提问。

    >>输入法是否是将用户的键盘输入转化为汉字的编码,然后发送给编辑框?输入法发送的编码是Unicode编码还是ANSI编码?

    当你用键盘打字时,从键盘进入计算机的是ASCII码序列。“输入法”把ASCII码序列转换成输入法自己规定的码。

    关于输入法工作原理的更多细节,你可以参考以下链接:https://blog.csdn.net/shuilan0066/article/details/6883629
    https://msdn.microsoft.com/zh-cn/goglobal/bb688135.aspx

    Best wishes,

    Jeanine Zhang

    2019年2月15日 2:52
    版主
  • 键盘传送的是ASCII码,ASCII码串构成输入法的内码,输入法根据内码检索出对应的GBK码或Unicode码,

    再从字体文件中找到Unicode码对应的汉字字体显示在屏幕上。

    2019年2月15日 3:27
  • 请问一下编辑框怎么知道发送过来的是GBK码还是Unicode码。
    2019年2月15日 3:34
  • 请问一下编辑框怎么知道发送过来的是GBK码还是Unicode码。
    编辑框不知道发送过来的是什么码,但是操作系统知道,OS的基础设置中有地区和编码的设置。
    2019年2月15日 4:19
  • 当我在编辑框中输入汉字时,如果用的是Unicode的输入法,那么为什么编辑框还能正常显示。
    2019年2月15日 4:27
  • GBK编码和UNICODE编码在OS中有自动转换功能,这个你不用担心。
    2019年2月15日 4:56
  • 我想知道的是系统怎么知道当前输入法传过来的是GBK还是UNICODE编码,然后作出正确的显示。
    2019年2月15日 5:19
  • 你好,有什么问题吗?
    2019年2月15日 9:47
  • 请问一下输入法是否是将用户的键盘输入转化为汉字的编码,然后发送给编辑框?输入法发送的编码是Unicode编码还是ANSI编码?

    编码是Unicode还是ANSI?一定要Unicode。发送给编辑框,怎么才能确定编辑框是哪个实例呢?求解!!!
    2019年2月17日 2:05
  • 你好,

    >>我想知道的是系统怎么知道当前输入法传过来的是GBK还是UNICODE编码,然后作出正确的显示。

    由于 Windows 允许用户使用各种输入方法输入多种语言,因此系统需要知道针对某一特定语言应该激活哪种输入方法。这些关联被称为“安装的语言和方法对”或“输入语言”。在安装时,会为每位用户都安装与操作系统语言版本相对应的默认输入语言以及英语。用户随后可以定义其本人帐户要使用的输入语言列表以及使用情况。然后在“区域和语言选项”属性表中动态使用这些语言来实现,但前提必须是事先已安装了目标语言的语言支持。

    Best wishes,

    Jeanine Zhang

    2019年2月18日 6:03
    版主
  • 你好:

          我现在是这样测试的,着先电脑上安装了微软拼音输入法,然后我先是在编辑框中输入一个汉字,这时应该使用的是GBK编码的,显示正常。然后我把输入法的中文输入模式改为Unicode码输入,当我输入Unicode编码时,此时输入法输出的编码应该是Unicode编码吧,但是汉字还是能正常显示,这是什么原因呢。

    2019年2月18日 6:42
  • 你好,

    你想要输出编码的编辑框是不是支持Unicode呢?如果在不支持Unicode的程序中想要显示文本时,显示的语言就是你所设置的“区域和语言”。

    Best wishes,

    Jeanine Zhang

    2019年2月18日 8:04
    版主
  •       ... ... 然后我把输入法的中文输入模式改为Unicode码输入,当我输入Unicode编码时,此时输入法输出的编码应该是Unicode编码吧,... ...

    中文输入模式改为unicode编码,输入的内容还是ANSI字符串编码,字符串表达的意思是UNICODE编码,

    但输入法输出的编码并不是这串输入的ANSI字符串,操作系统根据UNICODE和默认ANSI字符集GBK编码自动转换,

    输出的ANSI字符串编码是输入UNICODE编码对应的GBK编码,这种映射对应关系OS内部处理,不需要用户干预。

    2019年2月18日 8:14
  • 你好:

          你的意思是不管我怎么输入,输出的编码总是固定的GBK编码。

    2019年2月19日 0:27
  • 你的意思是不管我怎么输入,输出的编码总是固定的GBK编码。

    不是这个意思,我的意思是不管你输入什么Unicode字符串,输出的编码都是OS操作系统设置的本地语言编码。
    2019年2月19日 0:58
  • 你好:

           你的意思是输入法输出的编码都是OS操作系统设置的本地语言编码?

    2019年2月19日 1:35
  •     你的意思是输入法输出的编码都是OS操作系统设置的本地语言编码?

    是的,前提是输入法安装正确。
    2019年2月19日 1:40
  • 你好:

          所有的输入法都必须遵守输出的编码都是OS操作系统设置的本地语言编码这个规定是吗?

    2019年2月19日 2:06
  •      所有的输入法都必须遵守输出的编码都是OS操作系统设置的本地语言编码这个规定是吗?

    原则上是这样的,否则输出的编码将在屏幕上显示不出或乱码。
    2019年2月19日 3:21
  • 你好:

            请问一下有没有哪种输入法输出的编码是Unicode码。

    2019年2月20日 1:57
  •      请问一下有没有哪种输入法输出的编码是Unicode码。

    请问输出的是Unicode码,那么输入法输入的是什么码?
    2019年2月20日 2:31
  • 你好:

          输入的就是系统设置的本地语言编码。

    2019年2月20日 2:50
  •     输入的就是系统设置的本地语言编码。

    本地语言编码和Unicode编码之间的关系是真子集,即Unicode编码包含所有本地语言编码。
    2019年2月20日 3:06