Java 按字节数截取字符串
来源:互联网 发布:火辣健身软件 编辑:程序博客网 时间:2024/06/10 14:47
题目:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”
代码如下:
package com.darren.test.string;import java.io.UnsupportedEncodingException;public class TrimGBKTest { public static void main(String[] args) { String text = "I Love 丰峰锋"; // test(text); try { int len8 = trimGBK(text.getBytes("GBK"), 8); int len9 = trimGBK(text.getBytes("GBK"), 9); System.out.println("len8 = " + text.substring(0, len8)); System.out.println("len9 = " + text.substring(0, len9)); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } private static int trimGBK(byte[] bytes, int length) { boolean isChineseFirstPart = false; int n = 0; for (int i = 0; i < length; i++) { // 注:这里有点不明白,为什么中文转换成byte数组之后的值为负值,而英文字符为正值 if (bytes[i] < 0 && !isChineseFirstPart) { isChineseFirstPart = true; } else { isChineseFirstPart = false; n++; } } return n; } /** * 写这个测试方法只为测试上面不懂的那行代码 * * @param source */ private static void test(String source) { try { byte[] byteTest = source.getBytes("GBK"); int size = byteTest.length; for (int i = 0; i < size; i++) { System.out.println(byteTest[i]); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }}// 运行结果如下:// len8 = I Love// len9 = I Love 丰
0 0
- Java字符串按字节数截取长度
- Java 按字节数截取字符串
- Java按字节数截取字符串
- 按字节数截取字符串
- JAVA按指定的字节数截取字符串
- java根据字节数截取字符串
- Java根据字节数截取完整字符串
- Java字符串 字节数计算 截取长度
- 按字节截取字符串-Java
- java按字节截取字符串
- java按字节截取字符串
- Java 按字节截取字符串
- C# 按字节数截取string字符串
- 23.按字节数截取字符串
- Java: 按字节的开始位置来截取指定字节数长度的字符串
- javascript_按字节截取、计算中英文混合字符串字节数
- 根据字节数截取字符串...
- 根据字节数截取字符串
- 关于移位的有意思的小问题
- 黑马程序员—关于Java中的内部类的笔记
- win8系统下安装 .NET Framework 3.5出现错误代码:0x800F0906
- c#从键盘上读入数据
- java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMap
- Java 按字节数截取字符串
- BZOJ 2631 Tree Link-Cut-Tree(LCT)
- mysql数据库引擎
- windows7下硬盘安装32位ubuntu12.04LTS
- servlet.xml,Context描述符,web.xml怎样协同工作?
- 关于Django版本不对遇到的一个问题
- poj 2386 Lake counting(深度优先搜索)
- 十六进制的字符串与十六进制数的转换
- serial port communication by java