按字节截取含有中文汉字的字符串

简介:
public static void main(String[] args) throws UnsupportedEncodingException {
		// TODO Auto-generated method stub
		// 原始字符串
		String s = "我ZWR爱JAVA";
		System.out.println("原始字符串:" + s);
		try {
		System.out.println("截取前1位:" + CutString.substring(s, 1));
		System.out.println("截取前2位:" + CutString.substring(s, 2));
		System.out.println("截取前4位:" + CutString.substring(s, 4));
		System.out.println("截取前6位:" + CutString.substring(s, 6));
		} catch (UnsupportedEncodingException e) {
		e.printStackTrace();
		}
	}

 
public static String substring(String orignal, int count) throws UnsupportedEncodingException{
		if(!"".equals(orignal) && orignal != null){
			// 将原始字符串转换为GBK编码格式
			orignal = new String(orignal.getBytes(), "GBK");
			if(count > 0 && count < orignal.length()){
				StringBuffer sb = new StringBuffer();
				char c;
				for (int i = 0; i < count; i++) {
					c = orignal.charAt(i);
					sb.append(c);
					if(isChineseChar(c)){
						// 遇到中文汉字,截取字节总数减1
						--count;
					}
				}
				return sb.toString();
			}
		}
		return orignal;
	}


 

//判断是否是一个中文汉字
	public static boolean isChineseChar(char c) throws UnsupportedEncodingException{
		return String.valueOf(c).getBytes("GBK").length > 1;
	}


 

相关文章
|
存储
ASCII码可以表示汉字吗?
ASCII码可以表示汉字吗?
4401 0
|
前端开发 Java 测试技术
java通用分页(后端)
1.通用分页是什么? Java通用分页是指在Java编程语言中实现的一种通用分页功能。它通常用于在Java Web应用中展示大量数据或查询结果,并将其分页显示给用户。
391 1
|
人工智能 自然语言处理 UED
通义听悟上线音视频问答助手
【2月更文挑战第30天】阿里巴巴“通义听悟”推出音视频问答助手“小悟”,能理解6小时内容,提供精准问答,适用于学术、会议、教育场景。此外,还具有一键AI改写、思维导图生成功能,优化笔记体验,支持多语种自动识别。已吸引百万用户,日处理字符数达20亿。但可能在专业术语理解及用户体验上存在挑战。
258 3
通义听悟上线音视频问答助手
|
测试技术
领域驱动设计问题之什么是领域服务(Domain Service),它与应用层服务有何区别
领域驱动设计问题之什么是领域服务(Domain Service),它与应用层服务有何区别
8447 0
|
关系型数据库 MySQL Windows
14. Mysql 开窗函数,一文带你直接通关
14. Mysql 开窗函数,一文带你直接通关
1052 0
|
Dubbo 前端开发 Java
Failed to bind NettyServer on ×××,cause: io/netty/bootstrap/ServerBootstrap
Failed to bind NettyServer on ×××,cause: io/netty/bootstrap/ServerBootstrap
Failed to bind NettyServer on ×××,cause: io/netty/bootstrap/ServerBootstrap
|
安全 Java 网络安全
对象存储oss使用问题之使用oss上服务器后显示服务异常如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
1945 0
|
Java 微服务
解决:Parameter 0 of method ribbonServerList in com.alibaba.cloud.nacos.ribbon.NacosRibbonClientConfigu
解决:Parameter 0 of method ribbonServerList in com.alibaba.cloud.nacos.ribbon.NacosRibbonClientConfigu
1080 0
|
前端开发 小程序 定位技术
Mac上抓包秒通关🐑羊了个羊🐑
前言 看网上大部分是 Windows 微信小游戏的抓包教程通关文章,因为Mac微信不支持小游戏(尴尬了。) 对于真机抓包的话,高版本Android配置CA太麻烦(Root),相信 大部分都是10左右的安卓 手里只有台Mac,那咱就直接用 Mac 配安卓模拟器搞定抓包(Whistle + MuMu) PS:文末有最终演示视频,看效果直接跳文末