導航:首頁 > 編程語言 > java中按位元組截取

java中按位元組截取

發布時間:2023-05-31 20:51:28

java編寫函數,從一個字元串中按位元組數截取一部分,但不能截取出半個中文(GBK碼表)

{
privateStringstr;
privateintbyteNum;
publicSplitString(){}
publicSplitString(Stringstr,intbyteNum)
{
this.str=str;
this.byteNum=byteNum;
}
publicvoidsplitIt()
{
bytebt[]=str.getBytes();
System.out.println("LengthofthisString===>"+bt.length);
if(byteNum>=1)
{
if(bt[byteNum]<0)
{
Stringsubstrx=newString(bt,0,--byteNum);
System.out.println(substrx);
}else
{
Stringsubstrex=newString(bt,0,byteNum);
System.out.println(substrex);
}
}else
{
System.out.println("輸入錯誤!!!請輸入大於零的整數:");
}
}
}
publicclassTestSplitString
{
publicstaticvoidmain(Stringargs[])
{
Stringstr="我ABC漢DEF";
intnum=6;
SplitStringsptstr=newSplitString(str,num);
sptstr.splitIt();
}

② JAVA中:中英文混合的字元串按位元組截取問題

字元串有截取方法呀。。。。。
字元長度受你內存大小的影響~~回~
String str="abc...";這樣定義的字元答串是存在字元串池中的
String str=new String("abc...")這樣定義的字元串是在堆內存中的,然後 被棧內存的對象str引用
所以字元串是對象,是在內存中存儲的,不像基本數據類型有各自的長度,字元串應該是只要是內存不滿,是沒有長度限制的
substring方法
String a="";
String first10000=a.substring(0,9999);
String end10000=a.substring(a.length-9999);
希望能幫到你!!

③ java,要實現字元串按位元組截取的方法

這個不能用char數組的,因為char的范圍是-128~128,漢字一般大於127的,我提供一個方案,將string轉成byte數組,可以跟編碼方式,如果是gbk就是兩個一組,utf-8是3個一組,遍歷數組,使用邏輯與&128如果不為0表示漢字,就按編發方式三個或兩個一組,如果為0就是普通的iso-8859-1,也就是一個位元組一個字元,這樣問題就解決了,希望對你有幫助

④ java 按位元組截取字元串問題

public class FormatTool {
/**
*
*
* @param
* @return String
* @param formatStr
* 被格式化字元串
* @param tag
* 不足位補充字元串
* @param len
* 字元串長度
* @param direction
* 1:左補,0:右補
* @return desc
*/
public static String format(Object formatStr, String tag, int len,
int direction) {
String str = formatStr.toString();
if (len <= str.length()) {
return str.substring(0, len);
}
StringBuilder tempStr = new StringBuilder();
for (int i = 0; i < len - str.getBytes().length; i++) {
tempStr.append(tag);
}
if (direction == 0) {
return str + tempStr;
} else {
return tempStr.append(formatStr).toString();
}
}

/**
* 位元組數組拷貝
*
* @param
* @return void
* @param fromBytes
* @param toBytes
* @param from
* @param len
* desc
*/
public static void cpyBytes(byte[] fromBytes, byte[] toBytes, int from,
int len) {
for (int i = from; i < from + len; i++) {
toBytes[i - from] = fromBytes[i];
}
}

/**
* 獲取字元串formatStr從from到from + len的字元串
*
* @param
* @return String
* @param formatStr
* @param from
* @param len
* @return
* desc
*/
public static String format(String formatStr, int from, int len) {
byte[] fromBytes = formatStr.getBytes();
byte[] toBytes = new byte[len];
cpyBytes(fromBytes, toBytes, from, len);
return new String(toBytes);
}
}
使用方法FormatTool.format(str,50,400);表示的意思就是截取str字元串從第50個位元組開始截取,截取400個位元組的字元串

⑤ JAVA中如何按位元組截取子字元串

substr 方法用於返回一個從指定位置開始的指定長度的子字元串。
語法
stringObject.substr(start [, length ])

⑥ JAVA編寫一個截取字元串的函數

/**
* 輸入一個字元串和位元組數,輸出為按位元組截取的字條符串,但要保證漢字不被截半
* @author Administrator
*
*/
public class Ceshi {
public static void main(String[] args) {
String str = "sfsfs中國sdfsdfsfd";

System.out.println(substring(str, 10));
}

private static String substring(String str, int interceptLength){
StringBuilder sb = new StringBuilder();

for(int i=0; i<interceptLength; i++){
sb.append(str.charAt(i));
}
return sb.toString();
}
}

⑦ 【急求】java 按位元組截取字元串,從指定的位置開始,到指定的位置結束

你這種情況substring()方法更方便
String a = "ab我愛你cd";
a = a.substring(3,5);//現在a="我愛你"
以下復制JAVA API:
返回一個新字元串,它是此字元串的一個子字元串。該子字元串從指定的 beginIndex 處開始,一直到索引 endIndex - 1 處的字元。因此,該子字元串的長度為 endIndex-beginIndex。
示例:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
參數:
beginIndex - 開始處的索引(包括)。
endIndex - 結束處的索引(不包括)。
返回:
指定的子字元串。

⑧ java截取指定字元串中的某段字元如何實現

如下圖,給你復貼出了制代碼段。可以利用字元串的substring函數來進行截取。

結果是:456789(注意:包括4。)

示例:

"hamburger".substring(3,8) returns "burge"

"smiles".substring(0,5) returns "smile"

⑨ java,要實現字元串按位元組截取的方法

publicintchineseLength(Strings7){

/**

*獲取字元串的長度,如果有中文,則每個中文字元計為2位

*

*@paramvalue

*指定的字元串

*@return字元串的長度

*/

intvalueLength=0;

intnumber=0;

Stringchinese="[u0391-uFFE5]";

/*獲取欄位值的長度,如果含中文字元,則每個中文字元長度為2,否則為1*/

for(intq=0;q<s7.length();q++){

/*獲取一個字元*/

Stringtemp=s7.substring(q,q+1);

/*判斷是否為中文字元*/

if(temp.matches(chinese)){

/*中文字元長度為2*/

valueLength+=2;

//返回這個字元串中有幾個漢字

number+=1;

}else{

/*其他字元長度為1*/

valueLength+=1;

}

}

returnnumber;

}

⑩ Java中按位元組讀取時兩個位元組是怎麼截取的

例如string
s="hello
world";
string
substri=s.substring(0,5);//這里將會獲得hello
substring是string類的一個截取字元串的臘岩方法,方法裡面第一個參數是從第幾位開始截取鎮局滑,御臘後面的那個參數是截取到第幾位(但不包含這一位的字元)。

閱讀全文

與java中按位元組截取相關的資料

熱點內容
word使用教程下載 瀏覽:295
電腦文件平鋪圖片默認大小 瀏覽:115
文件查看設置信息失敗 瀏覽:668
編程如何編出烏鴉喝水的課文 瀏覽:20
國家反詐app報案助手怎麼使用 瀏覽:439
秘密文件丟失多少天 瀏覽:237
js中csstext 瀏覽:382
目標文件名過長復制 瀏覽:892
樂動力計步器老版本 瀏覽:933
壓縮文件鏈接怎麼編輯 瀏覽:808
如何鎖定PDF文件里的圖章 瀏覽:89
資料庫超時是什麼 瀏覽:649
文件怎麼改整列內容 瀏覽:764
360壓縮文件發郵件空白 瀏覽:813
上哪裡查自己大數據 瀏覽:907
編程語言怎麼學車 瀏覽:189
編程該怎麼學才能先找工作 瀏覽:524
文件刻制光碟多少錢 瀏覽:861
校園網的網路組成結構 瀏覽:862
u盤系統復制文件過大 瀏覽:843

友情鏈接