2015. 1. 8. 03:53
Android EUC-KR parsing 할때 유의 사항.
2015. 1. 8. 03:53 in 관련자료
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
안녕하세요.
C#에서 쓰이던 파싱 기능들을 Android 로 변환 작업을 하고 있습니다.
막상 할려고 하니 서로 다른 형태 때문에 고생이 많네요.
Android 에서는 peek() 이란 함수가 없습니다.
그래서 Search를 좀 하니 PeekAbleStream이 있는데, 이게 믿을만한게 못된다는게 결론입니다.
실제로 디버깅 상에서 깨진 한글인데요.
실제 코드에서는 저렇게 InputStrem을 사용합니다.
생성자는 이렇게 값을 할당 합니다.
문제는 Bytes Array로 넘어가는 시점에서 한글이 깨진다는 점입니다.(참고로 euc-kr, utf-8, defaultChartSet 모두 마찬가지 입니다.)
개인적인 추정으로 byte <-> int <->char의 호환성 때문이 아닌가 싶습니다.
참고로 순차적으로 BufferedReader를 활용해서 순차적으로 로그를 찍은 내용입니다.
캐릭터 단위로 찍었고, Exception 발생은 아마 끝부분을 지난후에서 read()를 해서 발생하는 것 같은데요.
핵심은 캐릭터(Char) 단위로 읽는것과 int 형으로 읽는부분이 아닌가 싶습니다.
감사 합니다.
'관련자료' 카테고리의 다른 글
Android Cannot resolve constructor ‘arrayadapter’ 원인 (0) | 2015.01.09 |
---|---|
Android ListView Binding (0) | 2015.01.08 |
Cache Friendly Code (0) | 2014.12.26 |
Roslyn – Using Node Replace (0) | 2014.08.17 |
Roslyn Git 을 통해서 설치 & 빌드 (0) | 2014.08.17 |