编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个
来源:互联网 发布:数据恢复收费标准 编辑:程序博客网 时间:2024/05/18 01:38
import java.io.UnsupportedEncodingException;
/**
* 题目: 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的
* 字符串。 但是要保证汉字不被截半个,如"我ABC",4,应该截为"我AB",输入"我ABC
* 汉DEF",6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
*/
public class StringTest {
static void splitString(String str, int length)
throws UnsupportedEncodingException {
if(length<=0){
}
else{
// 将字符串按照"gbk"编码形式解码为字节序列,并保存在数组中
// 当汉字采用GBK编码时占两个字节,而采用UTF-8编码时占3个字节,并且都为负整数
byte[] bt = str.getBytes("gbk");
if (length <= bt.length) {
//判断在要截取长度的数组中有多少个负数
int count = 0;
for (int i = 0; i < length; i++) {
if(bt[i]<0)
count++;
}
if(count%2==0){
//如果刚好被2整除,说明截取不会出现乱码
System.out.println(new String(bt, 0,length, "gbk"));
}else{
//不能整除则会出现乱码,则需要把最后一个字节去掉
System.out.println(new String(bt, 0,--length, "gbk"));
}
}
}
}
public static void main(String[] args) {
try {
StringTest.splitString("我ABC汉他DEF", 6);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
引用别人的 代码不好意思了
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个。
- 编写一个截取字符串的函数,输入为一个字符串和字节数, 输出为按字节截取的字符串。 但是要保证汉字不被截半个。
- 一个常见面试题: 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个。
- 编程:编写一个截取字符串的函数,(网上流传的答案有的是错的)输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4
- 编写一个截取字符串的函数,(网上流传的答案有的是错的)输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4
- 黑马程序员 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个
- 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”
- 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
- 【Java】编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
- 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 * 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我A
- 截取字符串(编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输...)
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
- Oracle段高水位(HWM, high water mark)问题
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第二篇:第一个页面
- orale sql相关学习
- 用JAVA实现堆栈(链表篇)
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇:ASP.NET MVC全局观
- 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个
- QTP 共享对象库 Repository Parameter
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第四篇:传递表单数据
- oracle sqlplus中运行 utf-8的文件
- secureCRT的使用
- Ext 获取grid中选中行的数据
- secureCRT的使用
- 关于 linux vfs
- LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library