从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int
字节值。如果因为已经到达流末尾而没有可用的字节,则返回值 -1。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
子类必须提供此方法的一个实现。
还有下面两个方法可选,具体的API说明查找java.io.InputStream的说明。
public int read(byte[] b)throws IOException
public int read(byte[] b,int off, int len) throws IOException
字节转整数时注意高地位。
(java)如何获取字符串的字节数!, java怎样获取字符串的字节数字符串是可以转变成字节数组,然后统计一下字节数组的长度即可,参考如下代码:
Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。
public static void main(String []args) throws UnsupportedEncodingException {
运行结果:2
System.out.println("测试".getBytes("ISO8859-1").length)
运行结果:4
System.out.println("测试".getBytes("GB2312").length)
运行结果:4
System.out.println("测试".getBytes("GBK").length)
运行结果:6
System.out.println("测试".getBytes("UTF-8").length)
}
c# 获取字符串的字节数C#截取字符串字节数 代码如下:
public int bytelenght(string str)
{
byte[] bytestr = System.Text.Encoding.Unicode.GetBytes(str)
int j = 0
for (int i = 0i <bytestr.GetLength(0)i++)
{
if (i % 2 == 0)
{
j++
}
else
{
if (bytestr[i] >0)
{
j++
}
}
}
return j
}
谢谢采纳
c++ 怎样获取一串字符串的字符数,不是字节数定义一个字符数组,然后根据字符长度循环得到字符
比如char ch[20]
这个20可以用字符实际长度getlength()获取
然后再循环获取字符
ch[i]
c#求字符串的字节数其实用不着那么复杂计算的。注意:C#中string.Length只是计算字符串“字符”的个数,不计算字节;但是汉字两个字节+数字(英文字符)一个字节,才是6个,简单的代码如下: byte[] bytes = Encoding.Default.GetBytes("1243我")Default(根据自己究竟是汉字还是数字等,自动合理分配内存所需要的字节空间)
Console.WriteLine(bytes.Length)
C#如何获得存放字符串的字节数组?byte[] System.Text.Encoding.Default.GetBytes(string s)
如何计算一个Unicode字符串的字节数
你就是一个byte一个byte读取的吧?一个汉字两个byte(不含surrogate情况),文件中存两个byte,你从文件中读取2个byte,就是这样 查看原帖>>
java下字符串和字节数组如何转换?strRead = String.copyValueOf(strRead.toCharArray(), 0, byBuffer.length])2、字符串转换成字节数组 byte[] byBuffer = new byte[200]byBuffer= strInput.getBytes()注意:如果字符串里面含有中文,要特别注意,在android系统下,默认是UTF8编码,一个中文字符相当于3个字节,只有gb2312下一个中文相当于2字节。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)