Fly to the sky & Return

[Swift] StreamReader  를 이용 할때 Euc-kr  encoding 된 텍스트 파일 읽기 본문

프로그래밍/Swift(IOS & Mac)

[Swift] StreamReader  를 이용 할때 Euc-kr  encoding 된 텍스트 파일 읽기

낼은어떻게 2020. 3. 15. 17:20
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

StreamReader는 기본이 utf-8로 셋팅되어 있습니다..   

근데 울나라에서는 돌아다니는 텍스트 파일이 다 uft-8 로 되어있는 것은 아닌지라.  euc-kr도 읽을 수 있어야야 합니당

StremReader로 읽을 때 보통은 다음과 같은 코드를 사용합니다.

1
let s = StreamReader(url: pathURL)
 
 
 
 
 
 
 
 
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

이렇게 일으면 StremReader 상에  다음과 같이 기본으로 셋팅이 되어있어 

1
 init?(url: URL, delimeter: String = "\n", encoding: String.Encoding = .utf8,
 
 
 
 
 
 
 
 
 
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

euc-kr로 encoding 된 파일은 읽을 수가 없습니다.

그래서 다음과 같은 코드를 이용해서 euc-kr로 encoding 된 텍스트 파일을 읽어드릴 수 있습니다.

1
2
3
4
5
6
7
8
let encodingEUCKR = CFStringConvertEncodingToNSStringEncoding(0x0422
let euc_kr = StreamReader(url: pathURL, encoding: String.Encoding(rawValue: encodingEUCKR))
 
  while let line = euc_kr?.nextLine() {
                
                print(line)
                
            }
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs