1. 程式人生 > >按照字符和字節截取內容的區別

按照字符和字節截取內容的區別

結束 位置 定位 截取 項目 utf 總結 兩個 測試

最近在項目中截取指定字節位置和字節長度的字符串時遇到的坑,在這裏總結一下:

String s="測試內容";

一、兩個方法的區別

s.length() 獲取字符長度

s.getBytes().length 獲取操作系統默認編碼字節長度

獲取指定編碼的字節長度,不同的編碼字節長度不一樣

s.getBytes("GBK").length

s.getBytes("UTF-8").length

二、截取指定位置和長度的字符串

1、通常用到最多的就是,按照字符起始位置和結束位置來截取指定字符串

s.substring(beginIndex, endIndex)

2、如果是按照字節的起始位置和指定字節長度來截取的話,就按照下面的方法,這裏要指定編碼格式

byte[] b = s.getBytes("GBK");

new String(b,offset,length,"GBK");

按照字符和字節截取內容的區別