蓝牙HID模式下输出中文原理简介

目录

  • 前言
  • 一、蓝牙和HID简介
  • 二、Unicode编码简介
  • 三、Windows下alt键+code编码输出中文
  • 四、蓝牙HID模式下实现在手机上输入中文的原理

前言

  最近在使用蓝牙模组,对于蓝牙模组如何输出中文的原理不太清楚,所以找了一些资料简单学习了下,总结如下:

一、蓝牙和HID简介

  蓝牙是一种无线通信协议,用于短距离数据传输。它的主要功能是在电子设备之间创建无线连接,并支持数据传输。

  HID (Human Interface Device) 是一种通用设备协议,用于连接人机界面设备,如键盘、鼠标、游戏手柄等。

  当蓝牙和HID结合使用时,人机接口设备可以通过无线蓝牙连接到其他电子设备,从而实现数据传输和控制。例如,如果一个蓝牙键盘和一个电脑连接,当用户在键盘上输入字符时,它们将通过蓝牙连接发送到电脑,然后在电脑上显示出来。这种方式比传统的有线连接更加灵活和便捷,使得人机交互更加顺畅和高效。

  总之,蓝牙和HID结合使用的原理是通过蓝牙协议连接人机接口设备和其他电子设备,使得数据传输和控制更加便捷和高效。

二、Unicode编码简介

  Unicode是一种字符编码标准,旨在为世界上所有的字符提供一个唯一的数字码点。它被广泛用于计算机系统、软件和互联网上的文本表示和处理。

  Unicode采用了一个庞大的字符集,包含了几乎所有的语言文字、符号、标点符号、表情符号以及特殊符号等。每个字符都被分配了一个称为码点(code point)的唯一整数值

  Unicode的码点通常表示为以 “U+” 开头的十六进制数值。例如,汉字 “中” 在Unicode中的码点为U+4E2D。码点可以是4位、6位、或8位的十六进制数。

  Unicode的实现有多种方式,最常见的是通过不同编码方案将码点映射到字节序列以便存储和传输。常见的编码方案包括UTF-8、UTF-16和UTF-32等。

- UTF-88-bit Unicode Transformation Format)是一种变长编码,它使用14个字节来
  表示不同范围的Unicode字符。UTF-8广泛用于互联网和现代操作系统中。

- UTF-1616-bit Unicode Transformation Format)是一种定长或变长编码,使用2个或4
  个字节来表示Unicode字符。UTF-16主要用于面向Unicode的应用程序和操作系统。

- UTF-3232-bit Unicode Transformation Format)是一种定长编码,使用4个字节来表示
  每个Unicode字符。UTF-32适用于某些特殊情况下的字符处理和存储需求。

  Unicode的优势在于它提供了一个统一的字符编码标准,使得全球范围内的多语言文字能够相互兼容和交换。它消除了以前存在的字符集冲突和乱码问题,为软件开发、文本处理和跨语言通信提供了一致性和可靠性。

三、Windows下alt键+code编码输出中文

  使用 alt+code 方式输出中文是一种在 Windows 系统中输入特殊字符的方式,它通常使用 Unicode 编码来代表字符。下面是一些常用中文字符的 alt+code 值:

-(Unicode: U+4E2D, 十进制: 20013, alt+code: Alt+20013)
-(Unicode: U+6587, 十进制: 25991, alt+code: Alt+25991)
-(Unicode: U+5B57, 十进制: 23383, alt+code: Alt+23383)

  转换 UTF-8 编码为 Unicode 编码的 alt+code 值,你可以按照以下步骤来完成:

1. 找到需要转换的字符的 Unicode 编码,可以通过在线工具或 Unicode 编码表来获取。

2. 在 Windows 系统中,确保小键盘区域启用了数字锁定,并且 Num Lock 状态打开。

3. 按住 Alt 键,在键盘上使用小键盘输入数字字符对应的 alt+code 值。例如,要输入
   字符 "中" (Unicode: U+4E2D),可以按住 Alt 键,然后同时输入数字键盘上的 "2""0""0""1""3"。松开 Alt 键后,就会输入相应的中文字符。

注意:实际你在word中尝试的时候,这样操作完,需要随意按一个字母键,这个字才会在word
中打出来。我测试的时候是这样,系统是win10,word是2019版,输入法处于英文输入模式下。

关于某个汉字所对应的Unicode 编码可以通过windows上的字符映射表进行查询:

蓝牙HID模式下输出中文原理简介_第1张图片

  请注意,使用 alt+code 方式输出中文字符需要知道字符的 Unicode 编码和对应的 alt+code 值,并且需要确保系统的键盘布局和 Num Lock 状态正确设置

  另外,GB2312 编码是中文字符编码的一种,它不支持 alt+code 输入方式,所以无法直接使用 alt+code 将 Unicode 编码转换为 GB2312 编码。如果你需要转换编码,可以通过编程方式或使用相关工具来进行转换。

Unicode和GB2312是两种不同的字符编码标准,它们之间存在如下关系:

1. GB2312是一种中国国家标准,于1980年发布,用于表示简体中文字符的编码方案。它定义
   了一个包含了6763个汉字和非汉字字符的字符集。

2. Unicode是一个全球字符编码标准,旨在为世界上所有的字符提供一个唯一的数字码点。
   Unicode的字符集比GB2312更大,包括了几乎所有的语言文字、符号、标点符号和特殊
   字符等,目前收录的字符已超过13万个。

3. GB2312是Unicode的一个子集。最早的GB2312版本将其中的第一级别(3755个字符)划为
   Unicode的代理区,通过与Unicode的映射关系实现了与Unicode的兼容。后来的GB18030
   标准进一步扩展了GB2312,并与Unicode完全兼容,覆盖了Unicode的所有码点范围。

	综上所述,GB2312是Unicode的一个子集,GB2312中的字符在Unicode中也有对应的码点。
Unicode包含了比GB2312更广泛的字符集,并提供了更全面和标准化的字符编码方案。若要在
处理中文字符时,通常建议使用Unicode或其衍生的编码方案,如UTF-8或UTF-16,以确保对
不同语言的支持和互操作性。

  目前该种方法实现中文输入只支持windows PC,不支持安卓以及苹果设备,原因如下:

	在安卓设备上,通常无法直接使用Alt Code编码来输出中文字符。Alt Code是一种在
Windows操作系统上使用的特定键盘输入方法,通过按住Alt键并在数字键盘上输入一系列
数字码,可以输入特定的字符。

	在Android设备上,一般使用虚拟键盘或触摸屏键盘来输入字符。它们通常不提供Alt Code
输入方法,而是通过选择字符、拼音输入法、手写输入法或语音输入等方式来输入中文字符。

要在Android设备上输入中文字符,可以使用以下方法:

1. 使用拼音输入法:大多数Android设备默认安装了拼音输入法,可以通过按键盘上的相应字母
   键来输入拼音,并根据提示选择相应的中文字符。

2. 使用手写输入法:Android设备通常支持手写输入法,可以使用手指或者笔在屏幕上直接书写
   中文字符,系统会根据书写进行识别并提供候选字符。

3. 使用第三方输入法:除了系统自带的输入法,还有许多第三方输入法可供选择。这些输入法提
   供更多的输入选项和功能,可以根据个人需求选择合适的输入法。

	由于Alt Code是针对Windows操作系统的特定输入方法,Android设备一般不直接支持Alt Code编码用于输入中文字符。但手写、拼音输入法等方法可以更方便地输入中文字符。

	在苹果设备上,也不支持直接使用Alt Code编码来输出中文字符。类似于Android设备,
苹果设备如iPhone、iPad和Mac使用虚拟键盘或触摸屏键盘来输入字符。

  为什么手机不支持该方式输入中文?手机上有alt键吗?

问题1:
	Alt Code编码是一种特定于Windows操作系统的方式,它要求用户按住Alt键并在数字键盘上输入
一组数字,以输入ASCII字符集中的特定字符。这种方式《依赖于物理键盘上的数字键》,而手机上的
虚拟键盘或触摸屏键盘通常没有数字键盘。
	
	虽然手机操作系统支持Unicode编码,包括中文字符,但并未提供一个类似Alt Code的方式来直接
输入特定字符。相反,通过输入法系统,用户可以更灵活地输入中文字符,并选择合适的候选字词。
	
问题2:
	大部分手机上并没有独立的Alt键。传统的物理键盘上常见的Alt键用于与其他键组合产生特殊功
能或输入特定字符,但在大多数现代智能手机上,由于屏幕尺寸的限制和用户操作的便利性考虑,已经
不再包含一个单独的Alt键。

	在手机上,输入法系统扮演了Alt键的角色,通过输入法的特殊功能键或手势,用户可以进行与
Alt键类似的操作,例如切换输入语言、切换键盘布局等。

	此外,部分手机会在虚拟键盘的辅助符号或符号页面提供一些特殊字符和符号选项,用户可以通过
切换到这些页面来快速访问一些特殊字符,但这些字符并不是通过Alt键和数字键码来输入的。

	总之,现代手机上通常没有独立的Alt键,而是通过输入法系统提供的功能键和手势来实现类似的
操作和输入特殊字符的能力。

四、蓝牙HID模式下实现在手机上输入中文的原理

  蓝牙键盘通常处于蓝牙HID(Human Interface Device)模式下,在蓝牙HID模式下,蓝牙键盘将以HID设备的身份与蓝牙主机(如电脑、智能手机等)进行通信。它使用HID协议来传输键盘按键信息给主机,并接收来自主机的控制命令,以控制特定的功能(如调整音量、播放/暂停媒体等)。

  蓝牙键盘实现在手机上输入中文的原理与在手机上使用内置键盘输入中文的原理类似。下面是一个简单的概述:

1. 连接蓝牙键盘:首先,需要将蓝牙键盘与手机进行蓝牙连接。在手机的设置中,打开蓝牙功能并
   搜索可用设备,找到蓝牙键盘并与之配对。

2. 输入法切换:一旦蓝牙键盘成功连接到手机,你需要在手机上切换输入法以使用蓝牙键盘进行
   输入。通过点击手机屏幕上的输入法切换按钮(通常是一个键盘图标),你可以选择键盘输入法。

3. 中文输入方法:在蓝牙键盘上,通常会有一个特定的键来切换到中文输入模式。当切换到中文输入
   模式后,你可以使用键盘上的字母键盘输入相应的拼音,并通过键盘上的其他按键来进行字词选择。

4. 输入法处理:当你使用蓝牙键盘输入拼音时,手机的输入法会根据你的输入提示相应的中文字符或
   词语。输入法会根据你的键盘输入进行预测和匹配,并显示候选的中文词语选项。

5. 选择输入:通过使用蓝牙键盘上的相应按键或组合键,你可以从输入法给出的候选中选择正确的
   中文字符或词语,然后将其输入到手机上的应用程序中。

	总而言之,蓝牙键盘实现在手机上输入中文的原理是通过与手机进行蓝牙连接,切换到中文输入法,
利用键盘输入拼音并选择中文字符或词语以实现中文输入。手机的输入法会处理键盘输入并提供各种中
文输入选项,然后你可以选择相应的中文字符或词语进行输入。这使得使用蓝牙键盘在手机上进行中文
输入更加方便和快捷。

!!!水平有限,欢迎各位在评论区指导交流!!!

你可能感兴趣的:(嵌入式Linux小项目,蓝牙,HID,无线传输,中文输入,嵌入式)