原文:Java中以字节长度截取存在中文的字符串(UTF-8编码)

背景:以定长字节输出含中文字符时,因ASCII码字符占 字节,而中文GBK字符占 字节,中文UTF 字符占 字节,为避免输出长度超过定长,故需对含中文的内容进行处理。 此处以输出UTF 为例,其他编码同理。 运行结果: abcd你abcd你 ...

2020-07-30 23:09 0 780 推荐指数:

查看详情

JAVA中文字符串编码--GBK转UTF-8

转载自:https://www.cnblogs.com/yoyotl/p/5979200.html 一、乱码的原因 gbk的中文编码是一个汉字用【2】个字节表示,例如汉字“内部”的gbk编码16进制的显示为c4 da b2 bf utf-8中文编码是一个汉字用【3】个字节表示,例如汉字 ...

Fri Jun 07 00:36:00 CST 2019 2 9483
Java实现按字节长度截取字符串的方法

Web应用程序在浏览器显示字符串时,由于显示长度的限制,常常需要将字符串截取后再进行显示。但目前很多流行的语言,如C#、Java内部采用的都是 Unicode 16(UCS2)编码,在这种编码中所有的字符都是两个字符,因此,如果要截取字符串、英文、数字混合的,就会产生问题,如下面的字符串 ...

Wed Apr 10 20:09:00 CST 2013 2 8646
Java 中文字符串编码之GBK转UTF-8

写过两篇关于编码的文章了,以为自己比较了解编码了呢?! 结果今天又结结实实的上了一课。 以前转来转去解决的问题终归还是简单的情形。即iso-8859-1转utf-8,或者iso-8859-1转gbk,gb2312之类。这种无损转换,一行代码就搞定。 今天遇到了gbk转utf-8。无论怎么转 ...

Thu Oct 20 07:37:00 CST 2016 1 37872
字节长度截取字符串

业务场景:Oracle数据字符UTF-8,字段类型为VARCHAR2(2000)。当插入字符串字节长度超过2000时,就会报错,使用subString(0,2000)当字符串包含中文时,也会报错,又不能直接只截取1000长度。所以需要一个根据字节长度截取字符串的方法。 下面提供一下 ...

Mon Nov 12 19:47:00 CST 2018 0 752
字节长度截取字符串

默认的截取字符串都是根据字符长度或位置截取的,典型的两个方法是substr和substring。 这样导致的问题是截取同样长度字符串时,多字节字符(汉字等)和单字节字符(半角英文字母、半角数字)占的位置长度差距较大,视觉上不太美观,比如同样是10个字符: /* * param ...

Tue Apr 17 03:12:00 CST 2018 0 1486
mb_substr()截取中文方法的详解 (加上‘utf-8’,字符串截取不到的问题详解)

建议刚入门的程序猿同学可以创建一个博客,对自己遇到的问题可以归纳总结。一方面能使自己的技术得到阶段性的提高,另一方面也能帮助到和你遇到同一问题的有缘人。不乏有一种‘事了拂衣去’的小资情调。 长话短说:在工作往往需要对文章进行截取一段字符串,后面用 ‘查看更多’表示;这是经常用到的工作场景 ...

Sun Mar 04 19:37:00 CST 2018 2 10095
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM