아는게없어서 다시질문드립니다..
앞서질문드렸던거는 잘해결이됐는데...여기서또한가지문제가....
한글이3바이트로 계산이돼서 생긴문젠데....
'121231234567890123가나123 00123'---요데이터하고
'121231234567890123가나다123 00123'--요넘하고 length가 다르더라구요..
한글2바이트기타다른영문,숫자,문자들은 1바이트로 자를수없을까요??
이곳 게시판에 늘 올라오는 부분인데요.
한글을 2바이트로 처리하겠다는 조건은 단지 특정 인코딩 안에서만 가능한 조건입니다.
한글의 한 글자가 얼마든지, 3바이트도 되고, 4바이트도 될 수 있습니다.
중요한 것은 문자열을 처리하는 것이고,
문자열에서는 바이트 단위라는 것은 참 구시대적인 생각이거든요.
왜냐하면, '안녕하세요' 에서 7바이트만 잘라서 쓰겠다는 것은 옛날 모든 환경이 똑같은 한글 인코딩 체계를 쓸 때나 가능한 이야기였습니다.
여기까지는 문자열이라는 자료형 자체에 대한 이야기고,
어디까지나 이상적인 이야기고, 실무에서는 아직도 바이트 단위로 문자열을 자르겠다는 사람들이 많아서
convert() 함수를 제공합니다.
convert('문자열', 'utf8', 'uhc') 이런식으로 변환을 하면 한글의 한 글자를 2바이트로 처리하는 확장완성형 문자열로 바뀝니다. 그 다음 원하는 작업을 하고, 다시 utf8로 바꾸면 될 것 같네요.