首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java获取所输入汉字拼音的首字母

public class StringUtil {   //private static Log logger = LogFactory.getLog(StringUtil.class);   // 国标码和区位码转换常量...    static final int GB_SP_DIFF = 160;   //存放国标一级汉字不同读音的起始区位码    static final int[] secPosValueList =...3472, 3635, 3722, 3730, 3858, 4027, 4086,   4390, 4558, 4684, 4925, 5249, 5600};   //存放国标一级汉字不同读音的起始区位码对应读音...* GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码 * 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43 * 0x24转成10进制就是36...,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’ */   static char convert(byte[] bytes) {   char result = '-';   int

2.4K40

GB2312编码_gb2312是简体中文的编码格式

GB2312是在区位码的地址基础上分别偏移0xA0,每个区有94个汉字;每个汉字占用的字节为(16X16)/8=32个字节;汉字字库的第一个字符也是“空格”,但这个是全角的和ASCII的不一样;如我们再写液晶驱动程序显示一个英文字母时...该空格的区位码是“0101”,所以任意一个汉字的偏移地址公式是,Address= ( (CodeH-0x30-1)*94+(CodeL-0x30-1) )*( 16*16 )/8;CodeH是GB2312...的第一个字节,CodeL是GB2312的第二个字节,减一 是因为区位码是从第一区开始的,而字模数组表是从0开始的; (以上的计算均是按16*16取模时计算的) 当我使用单片机编程工具写程序时,编译的时候...,编译器会根据我们的选择(如MDK)会自动将字符串转换成机内码即GB2312形式进行存储,所以我们可以根据GB2312与区位码的关系进行寻找地址偏移。...如我们在液晶驱动程序中写一个中文汉字显示程序,void(uchar x,uchar y,uint16 hz ) 可以这样找区位码,CodeH=hz>>8; CodeL=hz&0x00ff; 注意英文和汉字的参数定义类型一个是

1.3K20

UNICODE,GBK,UTF-8区别

这里还有一些细节: GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。 对于任何字符编码,编码单元的顺序是由编码方案指定的,与endian无关。...Understanding Unicode A general introduction to the Unicode Standard" (http://scripts.sil.org/cms/scripts/page.php...Understanding character set encodings and legacy encodings" (http://scripts.sil.org/cms/scripts/page.php...附录1 再说说区位码、GB2312、内码和代码页 有的朋友对文章中这句话还有疑问: “GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。”...再说区位码,啊的区位码是1601,写成16进制是0x10,0x01。这和计算机广泛使用的ASCII编码冲突。为了兼容00-7f的ASCII编码,我们在区位码的高、低字节上分别加上A0。

3K21

刨根究底字符编码之六——简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系

简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系 GB2312、GBK、GB18030等GB类汉字编码方案的具体实现方式是怎样的?区位码是什么?国标码是什么?...一、区位码 1....用十六进制表示就是: 区位码(区码,位码) + (20H,20H) + (80H,80H) =区位码(区码,位码) + (A0H,A0H) = 内码(高字节,低字节)。...区位码、国标码、内码的转换非常简单,但是令人迷惑的是为什么要这么转换?...因为要保留这33个不可打印字符,就不能直接采用区位码作为计算机直接处理的机内码,需要将区位码向后偏移32以避开冲突(为什么是偏移32,而不是偏移33?

2.2K10

UNICODE,GBK,UTF-8

这里还有一些细节: GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。 对于任何字符编码,编码单元的顺序是由编码方案指定的,与endian无关。...Understanding Unicode A general introduction to the Unicode Standard" (http://scripts.sil.org/cms/scripts/page.php...Understanding character set encodings and legacy encodings" (http://scripts.sil.org/cms/scripts/page.php...附录1 再说说区位码、GB2312、内码和代码页 有的朋友对文章中这句话还有疑问: “GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。”...再说区位码,啊的区位码是1601,写成16进制是0x10,0x01。这和计算机广泛使用的ASCII编码冲突。为了兼容00-7f的ASCII编码,我们在区位码的高、低字节上分别加上A0。

2.6K20

几种字符乱码

建议把最基本编码方式设置为utf-*或者unicode形式,这样兼容性更好些 unicode编码字符输出显示方括号,或者方框中带一个16进制的值: 原因:缺少字体,我们平时在输入一个编码时其实是输入内码,或者称之为区位码...,显示的字符是通过区位码找到对应的具体字符点阵信息,该信息才是显示的图形符号的具体信息,现在操作系统用字符库记录字符点阵信息(如:24X24,32X32)。...unicode由于定义了大量的字符区位码,但是没有提供对应的字符点阵,所以各个系统上不一定有对应的点阵信息,当然官方提供了一个字符库,但是里面不能显示所有的字符,有些解析成显示方框加16进制值,大部分系统中会显示成一个方框

36110

【自己动手画CPU】计算机数据表示

闯关目的 第1关:汉字国标码转区位码实验 (1) 掌握汉字机内码、区位码,最终利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换; (2) 理解字形码显示的基本原理...第2关:汉字机内码获取实验 (1) 掌握汉字机内码、区位码,最终利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换; (2) 理解字形码显示的基本原理...闯关内容 第1关:汉字国标码转区位码实验 在 logisim 中打开实验资料包中的 data.circ 文件,在对应电路中完成国标码转区位码的子电路设计。...闯关步骤 第1关:汉字国标码转区位码实验 图1-2 第2关:汉字机内码获取实验 图1-3 第3关:偶校验编码设计 图1-4 第4关:偶校验解码电路设计 图1-5 第5关:16位海明编码电路设计 图1-6...闯关总结 第1关:汉字国标码转区位码实验 1. 注意把data.circ 与GB2312ROM.circ放在同一目录下,否则上传平台时测试显示该路径文件不存在。 2.

39010

【STM32H7教程】第52章 STM32H7的LTDC应用之点阵字体和字符编码(重要)

完整教程下载地址:http://www.armbbs.cn/forum.php?...每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。其中,这94个区的分配如下:   01-09区为特殊全角符号共682个。  ...区位码和汉字编码: 为了编码兼容ASCII码且机内存储不与ASCII码冲突,GB2312并不直接使用0x0101-0x5E5E(区位码)对字符进行表示和存储,而是使用实际的编码范围0XA1A1到0XFEFE...而区位码就是0x1001,他们之间的关系就是高位字节和低位字节都差0xA0。0xB0 - 0x10 = 0xA0,0xA1 - 0x01 = 0xA0。  ...ASCII区,GB2312编码的全角字符区和汉字区的所有字符可以看下这个帖子: http://bbs.armfly.com/read.php?tid=201 ,初学者务必看下,非常有必要。

74121
领券