Preloader image
DDD

자바

자바 - 한글 byte 자르기

작성자 관리자 (admin)
조회수 481
입력일 2021-05-21 00:40:42

package com.erp.common.function;

public class HanSubstr 
{
  public static void main(String[] args)
  {
    String str = "한글123 나라만세!!!";
    System.out.println("1 : " + str);
    System.out.println("2 : " + str.substring(0,7));
    System.out.println("3 : " + subByte(str,7) + " - " + subByte(str,7));
    System.out.println("4 : " + str.getBytes().length);
    System.out.println("5 : " + subByte(str, str.getBytes().length));
    System.out.println("6 : " + subByte(str, 22));
  }
  
  
  public static String subByte(String str, int cutlen)
  {
      if( !str.isEmpty()) {
          str = str.trim();
          if(str.getBytes().length <= cutlen ) {
              return str;
          }
          else
          {
              StringBuffer sbStr = new StringBuffer();
              int nCnt = 0;
              
              for( char ch: str.toCharArray())
              {
                  nCnt += String.valueOf(ch).getBytes().length;
                  if(nCnt > cutlen) break;
                  sbStr.append(ch);
              }
              return sbStr.toString();
          }
      }
      else
      {
          return str;
      }
  }
}
 

^