`
wj196
  • 浏览: 294227 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

根据字节数截字

    博客分类:
  • java
 
阅读更多

	/**
	 * 根据字节数截字
	 * 
	 * @param str
	 * @param subBytes
	 * @return
	 */
	public static String subStr(String str, int subBytes) {
		int bytes = 0;
		for (int i = 0; i < str.length(); i++) {
			if (bytes == subBytes) {
				return str.substring(0, i);
			}
			char c = str.charAt(i);
			if (c < 256) {
				bytes += 1; // 英文字符的字节数看作
			} else {
				bytes += 2; // 中文字符的字节数看作
				if (bytes - subBytes == 1) {
					return str.substring(0, i);
				}
			}
		}
		return str.trim();
	}



分享到:
评论

相关推荐

    输入一字符串(汉字+字母),求出前n个字节

    输入一字符串(汉字+字母、数字),求出前n个字节

    对全角半角字符串的处理

    对全角半角字符串的处理,对全角半角字符串的处理,对全角半角字符串的处理

    c程序设计习题参考(谭浩强三版)习题参考解答

    new(n)表示分配n个字节的内存空间。 100 11.7写一函数free,将上题new函数占用的空间释放free(p)表示将p(地址)指向的单元以后的内存段释放。 101 11.8已有a,b两个链表,每个链表中的结点包括学号,成绩。要求把两个...

    java面试题(JAVA代码与编程).pdf

    1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC 汉 DEF”,6,应该输出为“我ABC”而不是“我...

    wpe pro英文原版 M2M sniff 修改封包工具

    首先,你要知道游戏中储存数据的几种格式,这几种格式是:字节(BYTE)、字(WORD)和双字(DOUBLE WORD),或者说是8位、16位和32位储存方式。字节也就是8位方式能储存0~255的数字;字或说是16位储存方式能储存0~65535的...

    基于AT89S52 单片的频率计

    系统复位时,单片机检查状态字节中的内容。如果状态字为0,则转去0000H 地址开始执行程序这是用户程序的正常起始地址。如果状态字不0, 则将引导 向量的值作为程序计数器的高8 位,低8 位固定为00H,若引导向量为FCH...

    c# 加密和解密相关代码

    count 数组中用作数据的字节数 返回值 计算所得的哈希代码 说明:本实例用到了ComputeHash 方法的第一种重载形式。 设 计过程 (1)打开Visual Studio 2008 开发环境,新建一个Windows窗体应用程序,并将其命名为...

    C#编程经验技巧宝典

    72 &lt;br&gt;0102 将字符串首字母转换大写 72 &lt;br&gt;0103 如何进行字节数组和字符串的相互转换 72 &lt;br&gt;0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 &lt;br&gt;4.2 获取字符串信息 73 ...

    java面试题

    84.7. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+...

    《计算机应用基础》(1).doc

    将二进制数100101转换对应的十进制数和对应的十六进制数。 解:1)二进制100101==&gt;十进制过程 方法: 二进制:1 0 0 1 0 1 权值:5 4 3 2 1 0 幂的底数:2 从右往左方向计算: 1*(2^0)+0*(2^1)+1*(2^2)+0*(2^3)+0*(2^4)+...

    C++实现md5加密算法

    用一个四个字的缓冲器(A,B,C,D)来计算报文摘要,A,B,C,D分别是32位的寄存器,初始化使用的是十六进制表示的数字,注意低字节在前: word A: 01 23 45 67 word B: 89 ab cd ef word C: fe dc ba 98 word D: 76 54 ...

    文章管理系统

    2.[纠正]纠正后台如果是用chrome核心浏览器,会造成底部一大截空白的BUG 3.[纠正]纠正部分浏览器后台导航菜单间间隔背景图会重复显示多次BUG 4.[纠正]纠正前台导航下拉二级菜单多次经过会出现重复伸缩问题 5.[纠正]...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...

    C语言程序设计标准教程

    若实际位数大于所定义的精度数,则截去超过的部分。 5.长度 长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。 void main(){ int a=15; float b=138.3576278; double c=35648256.3645687; char d='p...

    海康视频卡动态库

    /// 板卡包含的视频输出通道个数 /// uint displayChannelCount; /// /// 板卡上第一个视频输出通道的索引 /// uint firstDisplayChannelIndex; uint reserved1; uint reserved2; uint reserved3; ///...

    Visual Basic 6编程技术大全 中译本扫描版带书签 2/2

    4.2.4字节数据类型104 4.2.5单精度数据类型104 4.2.6双精度数据类型105 4.2.7字符串数据类型105 4.2.8货币数据类型106 4.2.9日期数据类型106 4.2.10对象数据类型106 4.2.11变量数据类型107 4.2.12十进制数据类型110 ...

    Visual Basic 6编程技术大全 中译本扫描版带书签 1/2

    4.2.4字节数据类型104 4.2.5单精度数据类型104 4.2.6双精度数据类型105 4.2.7字符串数据类型105 4.2.8货币数据类型106 4.2.9日期数据类型106 4.2.10对象数据类型106 4.2.11变量数据类型107 4.2.12十进制数据类型110 ...

Global site tag (gtag.js) - Google Analytics