首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql 中取得汉字字段的各汉字首字母

    VARCHAR(65534) charset gbk DEFAULT '';#结果字符串 DECLARE tmp_cc VARCHAR(2) charset gbk DEFAULT '';#拼音字符,存放单个汉字对应的拼音首字符...初始化长度 WHILE tmp_len > 0 DO #如果被计算的tmp_str长度大于0则进入该while SET tmp_char = LEFT(tmp_str,1);#获取tmp_str最左端的首个字符...,注意这里是获取首个字符,该字符可能是汉字,也可能不是。...SET tmp_cc = tmp_char;#左端首个字符赋值给拼音字符 IF LENGTH(tmp_char)>1 THEN#判断左端首个字符是多字节还是单字节字符,要是多字节则认为是汉字且作以下拼音获取...C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z') INTO tmp_cc; #获得汉字拼音首字符

    3.5K30

    Android开发 - 汉字转拼音首字母

    概述 工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1.获得汉字 2.将汉字转换成首字母,并记录下(必要时保存到数据库) 3.按首字母进行排序并展示...演示 控制台输出演示: 汉字转首字母演示,请输入汉字: 4654*&&^_FDSF你i好3啊>?...void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("汉字转首字母演示...convertAndClearAll:" + py3); } } package pinyin; /** * 汉字转首字母缩写 * * @author 张云飞vir基于网上获得的资料的修改...(String str) { return convertTo(str).replace("*", ""); } /** * 汉字转拼音缩写,清理无效字符(清理任何非数字和字母

    3.6K00

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

    LogFactory.getLog(StringUtil.class);   // 国标码和区位码转换常量    static final int GB_SP_DIFF = 160;   //存放国标一级汉字不同读音的起始区位码...3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086,   4390, 4558, 4684, 4925, 5249, 5600};   //存放国标一级汉字不同读音的起始区位码对应读音...ch};   byte[] uniCode = new String(temp).getBytes();   if (uniCode[0] 0) { // 非汉字...temp);   } else {   buffer.append(convert(uniCode));   }   }   return buffer.toString();   }   /** 获取一个汉字的拼音首字母...* GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码 * 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x43 * 0x24转成10进制就是36

    3.6K40

    Java,bit比特,byte字节,char字符,short,int,long,float,double,string,字母,汉字编码等

    参考网址的话,直接上Oracle的官方文档就好: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html 汉字...:1 汉字 = 2 byte = 16 bit 《《这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个》》 首先认识下Java...必须强制转换否则报错 System.out.println(e1); //中 System.out.println(e2); //国 System.out.println(f); //输出是45,这时已经不是能完全代表汉字中了...,是把 中 这个字低位字节赋值给f了 System.out.println((char)f); //输出是 -,可以看到把汉字 中 转到 f byte,在从 f转回 char型,已经丢失了高位字节 3、

    2.2K20

    为什么汉字需要 2 个字节存储而英文字母只需 1 个字节存储

    英文字母数量有限,整个英语字符集包括大小写字母、数字以及基本符号,总数远远小于 256 个,因此 1 个字节恰到好处。汉字则面临着截然不同的情形。...如果将 1 个字节作为基本编码单元,那么无论是字母、数字或者符号,都必须从这 256 个组合中选取。...这个历史遗留问题也解释了为什么有时我们会看到汉字在内存中占用更多的存储空间,而英文字母仅仅需要 1 个字节。在考虑存储效率的时候,不能忽视的一个因素是语言本身的复杂性。...英语作为拼音文字,其构成基于有限的字母组合;而汉语则采用象形文字,每个汉字背后都蕴含着独立的意义和文化内涵。这样的设计要求必须为每个汉字分配一个独立的存储单元,从而避免因不同汉字共享存储而导致的混淆。...尽管如此,汉字与英文字母在存储上依然呈现出截然不同的字节数分布,这不仅反映了语言本身的复杂度,也揭示了计算机科学家和工程师们在实际工作中不断平衡效率与多样性的智慧。

    1.4K00
    领券