System.out.print("012字符abcd12345".substring(3,5) +"\n");
它返回"字符"。
但是,我想截取它的第3个字节到第5个字节,即返回一个汉字(二个字节)"字",
怎么做才可以啊?问了好几个人,都回答不上来,想让高手多指教!
它返回"字符"。
但是,我想截取它的第3个字节到第5个字节,即返回一个汉字(二个字节)"字",
怎么做才可以啊?问了好几个人,都回答不上来,想让高手多指教!
解决方案 »
- java Socket通信 长连接
- postgres里面有个表user,user表里有一个字段username,当username为a_b时,我要把所以带'_'的字符查出来,要怎么查呀.
- 急求解:js传两个参数给action出现问题
- jfreechart 在画3d柱状图的时候如何获得LayeredBarRenderer 对象
- 帮我看看这个简单的问题..!
- 金山笔试题目
- 环境变量冲突问题
- 在学习java.io时出现的一个奇怪的现象,求救-_-!
- 怎样使一个JDialog不会因为按‘X’(叉)关闭
- 如何修改jar包中的类
- 如何获取系统正在运行的程序列表?
- JAVA操作ZIP文件...急急急急急急急急急急急急
String s="012字符abcd12345";
byte[]b = s.getBytes();
再在b中取你要的不过这样的话,你可能需要根据ascii码判断下是汉字还是英文,以决定将如何取法。
大家能否改写一下以下的函数,帮我加输入一个参数,作为截取的起始位置iStart啊?/**
* 取字符串的前toCount个字符
*
* @param str 被处理字符串
* @param toCount 截取长度
* @param more 后缀字符串
* @version 2004.11.24
* @author zhulx
* @return String
*/
public static String substring(String str, int toCount,String more)
{
int reInt = 0;
String reStr = "";
if (str == null)
return "";
char[] tempChar = str.toCharArray();
for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++) {
String s1 = str.valueOf(tempChar[kk]);
byte[] b = s1.getBytes();
reInt += b.length;
reStr += tempChar[kk];
}
if (toCount == reInt || (toCount == reInt - 1))
reStr += more;
return reStr;
}
自己去查帮助文档!
里面有!
它返回"字符"。
但是,我想截取它的第3个字节到第5个字节,即返回一个汉字(二个字节)"字",
怎么做才可以啊?问了好几个人,都回答不上来,想让高手多指教!=======================================================================可能人家回答不上来.是因为你问的有问题.
首先,subString 的两个参数是int beginIndex, int endIndex
不是字节.而是字符...
java是unicode编码方式.一个char16个字节..是能放一个汉字的.这点和C/C++是有区别的.
String其实就相当于一个字符数组.
byte[]a = s.getBytes()
byte[]b = new byte[4];
for (int i=0;i<4;i++){
b[i] = a[i+3];
}
String subs= new String(b);