'한글 byte'에 해당되는 글 1

  1. 2011.08.05 java] 개행문자 치환, 한글영문 byte 수 확인. 3
[쥔장] ==============================================
아는 것들이지만 매번 사용하는 것이 아니라 공통으로 빼놓거나 하기 때문에 간혹 잊는다..
해서 다시 스크랩해본다.
한글,영문 byte 수 확인하는 것은 다 빼고 그냥 한글은 +2, 아니면 +1 로 해서 하면 전체 길이가 나옴.
=====================================================

----------------------------------------

만약 개행문자나 줄바꿈이 들어간 String형에서 개행문자나 줄바꿈을 없애고 싶은때 아래처럼 치환하면 된다.

String str = "줄바꿈이 되는 문자열임";
str = str.replace("\n","");

위처럼 하면 된다.

 하지만 위처럼 했는데도 안 된다면 아래처럼 해보다. 

 str.replace(System.getProperty("line.separator"), "");  

System.getProperty("line.separator") 는 자바에서 지원하는 운영체제별 개행문자를 가져오는 메소드이므로 어느 환경에서도 통하므로 앞으로 바로 위의 형식으로 개행문자를 치환하자.


----------------------------------------



----------------------------------------

자바는 기본적으로 문자에 대해서는 유니코드를 사용하기 때문에 , 영문이든 한글이든 2바이트로 처리합니다. 
때문에 다른 시스템과 연동되는 부분등과 같은 곳에서 쓰이기 위해서 한글은 2바이트 영문은 1바이트로 사이즈를 구해야 할일이 있더군요. 그때 만들어 보았던 소스 입니다.   

public static final int getByteSizeToComplex(String str) {
  int en = 0;
  int ko = 0;
  int etc = 0;
  
  char[] string = str.toCharArray();
  
  for (int j=0; j<string.length; j++) {
   if (string[j]>='A' && string[j]<='z') {
    en++;
   }
   else if (string[j]>='\uAC00' && string[j]<='\uD7A3') {
    ko++;
    ko++;
   }
   else {
    etc++;
   }
  }
  
  return (en + ko + etc);  
 }

한글은 크기를 2로 영문은 1로 그외에 + 나 - 같은 기호들은 1로 계산하여 돌려줍니다


----------------------------------------


----------------------------------------

----------------------------------------