渚嬪錛?鎴慉BC鏄腑鍥戒漢DEF"錛屾埅鍙?涓瓧鑺傚簲榪斿洖"鎴慉BC"錛屾埅鍙?涓瓧鑺傚簲榪斿洖"鎴慉BC"錛屾埅鍙?涓瓧鑺傚簲榪斿洖"鎴慉BC鏄?銆?br />
鍑芥暟涓富瑕佹槸浣跨敤String.getBytes()鍒ゆ柇涓涓瓧絎﹀寘鍚崟鑺傝繕鏄弻瀛楄妭錛屽洜涓鴻澶氭鍒涘緩String瀛楃錛岄熷害姣旇緝鎱紝璋佹湁鏇村ソ鐨勬柟娉曚篃璇風粰鍑哄緩璁?br />
聽1聽static聽final聽String聽subStringbyBytes(final聽String聽str,聽final聽int聽bytes)聽{
聽2聽聽聽聽聽int聽bytesCounter聽=聽0;
聽3聽聽聽聽聽String聽resStr聽=聽null;
聽4聽
聽5聽聽聽聽聽//聽棣栧瓧絎︿負鍙屽瓧鑺?聽鑰岃姹傝緭鍑轟竴涓瓧鑺?/span>
聽6聽聽聽聽聽if(bytes聽==聽1)聽{
聽7聽聽聽聽聽聽聽String聽aChar聽=聽str.substring(0,聽1);
聽8聽聽聽聽聽聽聽byte[]聽bytesInChar聽=聽aChar.getBytes();
聽9聽
10聽聽聽聽聽聽聽if(bytesInChar.length聽==聽2)
11聽聽聽聽聽聽聽聽聽return聽"";
12聽聽聽聽聽}
13聽
14聽聽聽聽聽for(int聽i聽=聽0;聽i聽<聽str.length();聽i++)聽{
15聽聽聽聽聽聽聽String聽aChar聽=聽str.substring(i,聽i聽+聽1);
16聽聽聽聽聽聽聽byte[]聽bytesInChar聽=聽aChar.getBytes();
17聽
18聽聽聽聽聽聽聽if(bytesInChar.length聽==聽1)聽{
19聽聽聽聽聽聽聽聽聽//聽single聽byte聽character
20聽聽聽聽聽聽聽聽聽++bytesCounter;
21聽
22聽聽聽聽聽聽聽聽聽if(bytesCounter聽==聽bytes)聽{
23聽聽聽聽聽聽聽聽聽聽聽resStr聽=聽str.substring(0,聽i聽+聽1);
24聽聽聽聽聽聽聽聽聽聽聽break;
25聽聽聽聽聽聽聽聽聽}
26聽聽聽聽聽聽聽}
27聽聽聽聽聽聽聽else聽if(bytesInChar.length聽==聽2){
28聽聽聽聽聽聽聽聽聽//聽double聽bytes聽character
29聽聽聽聽聽聽聽聽聽bytesCounter聽+=聽2;
30聽
31聽聽聽聽聽聽聽聽聽if(bytesCounter聽>聽bytes)聽{
32聽聽聽聽聽聽聽聽聽聽聽resStr聽=聽str.substring(0,聽i);
33聽聽聽聽聽聽聽聽聽聽聽break;
34聽聽聽聽聽聽聽聽聽}
35聽
36聽聽聽聽聽聽聽聽聽if(bytesCounter聽==聽bytes)聽{
37聽聽聽聽聽聽聽聽聽聽聽resStr聽=聽str.substring(0,聽i聽+聽1);
38聽聽聽聽聽聽聽聽聽聽聽break;
39聽聽聽聽聽聽聽聽聽}
40聽聽聽聽聽聽聽}
41聽聽聽聽聽}
42聽
43聽聽聽聽聽return聽resStr;
44聽聽聽}

]]>