java字符串按字节补空问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java字符串按字节补空问题相关的知识,希望对你有一定的参考价值。

比如我现在一条记录,有两字段a、b、c:

a 是空值,
b 为字符串 ‘中国abc’ ,
c 为 '中国abc中国abc中国abc中国abc'

设置字节长度为20个字节。第一个值为空,那么需要补20字节长度个空格(一个空格应该是占一个字节),第二个值中文已经占用4个字节,需要补空16个字节长度的空格, 第三个需要按字节截取20字节长度。如何实现?

参考技术A 首先不要用“字节”,这是专用术语,你用的不对,你应该说字符串长度。

实现方案不是很简单么?

String res=当前字符串+“ ”;(20个空格)
res=res.subString(0,20);本回答被提问者和网友采纳

java 按字节获取字符串长度

String str ="做·账、收·款、充·账、报·账" 怎么按字节获取他的字符串长度,特别注意的是全角字符· 我用的网上的一个方法,怎么计算str的字节长度是26 ,实际上是30。下面的代码是网上找的一个例子,貌似对于· 这个字符不对呀 public static int getWordCount(String s) int length = 0; for(int i = 0; i < s.length(); i++) int ascii = Character.codePointAt(s, i); if(ascii >= 0 && ascii <=255) length++; else length += 2; return length;

由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,
如果是汉字或其他全角字符,Ascii会大于255。
参考技术A 话说编码和实际字节长度有关系么...
java一个字符char占2个字节的么,15个字符就是30呗

以上是关于java字符串按字节补空问题的主要内容,如果未能解决你的问题,请参考以下文章

java,要实现字符串按字节截取的方法

java 按字节截取字符串问题

JAVA中:中英文混合的字符串按字节截取问题

【急求】java 按字节截取字符串,从指定的位置开始,到指定的位置结束

java 按字节获取字符串长度

Oracle 补空查询/补零查询