1 / 2
文档名称:

java截取字符串长度.doc

格式:doc   页数:2
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java截取字符串长度.doc

上传人:zgs35866 2015/6/3 文件大小:0 KB

下载得到文件列表

java截取字符串长度.doc

文档介绍

文档介绍:Web应用程序在浏览器中显示字符串时,由于显示长度的限制,常常需要将字符串截取后再进行显示。
                                                                                    
    但目前很多流行的语言,如C#、Java内部采用的都是 Unicode 16(UCS2)编码,在这种编码中所有的字符都是两个字符,因此,如果要截取的字符串是中、英文、数字混合的,就会产生问题,如下面的字符串:
String s = "a加b等于c,如果a等1、b等于2,那么c等3";
  上面的字符串既有汉字,又有英文字符和数字。如果要截取前6个字节的字符,应该是”a加b等",但如果用substring方法截取前6个字符就成了"a 加b等于c"。
    产生这个问题的原因是将substring方法将双字节的汉字当成一个字节的字符(UCS2字符)处理了。要解决这个问题的方法是首先得到该字符串的UCS2编码的字节数组,如下面的代码如下:
byte[] bytes = ("Unicode");
    由于上面生成的字节数组中前两个字节是标志位,bytes[0] = -2,bytes[1] = -1,因此,要从第三个字节开始扫描,对于一个英文或数字字符,UCS2编码的第二个字节是相应的ASCII,第一个字节是0,如a的UCS2编码是0  97,而汉字两个字节都不为0,因此,可以利于UCS2编码的这个规则来计算实际的字节数,该方法的实现代码如下:
    public static String bSubstring(String s, int length) throws Exception
    {
        byte[] bytes = ("Unicode");
        int n = 0; // 表示当前的字节数
        int i = 2; // 要截取的字节数,从第3个字节开始
        for (; i <  && n < length; i++)
        {
            // 奇数位置,如3、5、7等,为UCS2编码中两个字节的第二个字节
            if (i % 2 == 1)
            {
                n++; // 在UCS2第二个字节时n加1
            }
            else
            {
                // 当UCS2编码的第一个字节不等于0时,该UCS2字符为汉字,一个汉字算两个字节
                if (bytes[i] != 0)
        

最近更新

绿色设计理念在设计行业的推广 26页

2025年宁海县幼儿园教师招教考试备考题库附答.. 31页

2026年龟虽寿原文及翻译 5页

钢结构建筑节能分析 38页

2025年宿松县招教考试备考题库附答案解析(夺.. 30页

绿色文化发展 35页

2025年山西金融职业学院马克思主义基本原理概.. 13页

2025年广东松山职业技术学院马克思主义基本原.. 12页

2025年广西建设职业技术学院单招职业技能测试.. 43页

2025年新疆工业职业技术学院单招职业技能考试.. 44页

2025年林甸县招教考试备考题库含答案解析(夺.. 31页

叶菜类蔬菜冷链保鲜技术 60页

2025年永泰县幼儿园教师招教考试备考题库及答.. 30页

2025年江西交通职业技术学院马克思主义基本原.. 12页

2025年沈丘县招教考试备考题库带答案解析(必.. 30页

2025年河南女子职业学院马克思主义基本原理概.. 13页

2025年泸西县幼儿园教师招教考试备考题库含答.. 30页

2026年中医住培带教师资理论考核题库100道及参.. 40页

2026年主管中药师考试备考题100道【综合题】 38页

2026年医学微生物学习题集【全国通用】 40页

2025年盈江县幼儿园教师招教考试备考题库附答.. 31页

2025年秭归县幼儿园教师招教考试备考题库含答.. 30页

2025年苏州大学应用技术学院马克思主义基本原.. 12页

2025年西安工商学院单招职业适应性测试题库附.. 43页

最新全国政法队伍教育整顿知识竞赛试题库含完.. 40页

2025年铜仁幼儿师范高等专科学校单招职业适应.. 44页

2026年主管中药师考试备考题100道及答案【全国.. 37页

2026年中医住培带教师资理论考核题库100道及完.. 39页

2026年唐山职业技术学院单招职业适应性考试模.. 44页

2026年宪法知识竞赛试题库100道及答案【网校专.. 41页