java 操作字符串时,怎么获得整个字符串4字节长度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 操作字符串时,怎么获得整个字符串4字节长度?相关的知识,希望对你有一定的参考价值。

我有一个data字符串,我现在想取到这个data的长度,它的长度用4字节表示,有会的不?

字节么??一个汉字2个字节啊,就是这个特殊情况吧

private int native2ascii ( String nativecode )

char[] natives = nativecode.toCharArray ();
int len = 0;
for ( int i = 0; i < natives.length; i++ )

int code = String.valueOf (natives[i]).codePointAt (0);
if (code > 127)

String charAscii = Integer.toHexString (code);
charAscii = "0000".substring (charAscii.length (), 4) + charAscii;
len += 2;

else

len++;


return len;

追问

String data="阿斯顿发生的发生大发是是短发231231231......";
int len =data.length;
这个len 怎么用4字节表示?

追答

String data = "阿斯顿发生的发生大发是是短发231231231......";
int len = data.length ();
System.out.println (len);
byte[] bs = new byte[4];
bs = String.valueOf (len).getBytes ();
System.out.println (Arrays.toString (bs));

参考技术A substring 截取字符串(开始位置,截取到的位置)
String data = new String("abcde");
System.out.println(data.substring(0,4));
输出 abcd追问

String data="阿斯顿发生的发生大发是是短发231231231......";
int len =data.length;
这个len 怎么用4字节表示?

追答

len是data的长度 你要用4字节表示是什么意思?从你这里看data已经超出了4个字节?请描述清楚一下。

参考技术B Java语言内部的char是使用unicode编码 参考技术C String str = "abc";
System.out.println(str.length());
参考技术D data.substring(0,4)

在Java中从整数转换为二进制时保留整个字节[重复]

【中文标题】在Java中从整数转换为二进制时保留整个字节[重复]【英文标题】:Preserving an entire byte when converting from integer to binary in Java [duplicate] 【发布时间】:2021-11-30 16:34:22 【问题描述】:

我目前正在尝试将整数转换为二进制字符串。但是,我需要每个二进制“组”正好是 8 位或 1 个字节。

例如,Integer.toBinaryString(17) 会给我“10001”,而我需要“00010001”

有没有我可以使用的方法,或者除了对输出进行硬编码之外的更简单的解决方案?

【问题讨论】:

【参考方案1】:

最简单的是使用格式字符串

String.format("%08s",Integer.toBinaryString(i));

实际上这告诉格式化程序用零填充字符串以形成 8 位数字

【讨论】:

以上是关于java 操作字符串时,怎么获得整个字符串4字节长度?的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么获得文件编码格式

c语言中整型的一维数组中每个元素地址的长度为啥会是4个字节??

2字节字符串,怎么转成整数

java操作oracle的blob,clob数据

在Java中从整数转换为二进制时保留整个字节[重复]

UUID不是128位长的吗,怎么生成的都是36个字符的字符串?