다른 명령
UTF-8 인코딩 파일을 ASCII 파일로 변환 함수
- UTF-8 파일의 내용을 읽어서 ASCII로 변환한 후 새 파일에 저장
list_altUTF8ToASCII 함수
- UTF-8 파일을 읽고 ASCII 파일로 변환
- UTF-8 파일에 **BOM(Byte Order Mark)**이 있으면 제거
- UTF-8 데이터를 ASCII로 변환한 후 새로운 파일에 저장
list_altStringToASCII 함수
- 문자열 내 비-ASCII 문자는 **?**로 대체
- ASCII 범위(0~127)에 해당하는 문자만 유지
- 파일 열기 모드
- FileOpen($file, 16): 바이너리 모드로 파일 열기.
- FileOpen($file, 2): 쓰기 모드로 파일 열기.
- 주의사항
- UTF-8 파일에 한글 등 비-ASCII 문자가 포함된 경우, 변환 후 해당 문자는 ?로 표시
- 주로 라틴 문자 중심의 UTF-8 파일을 ASCII로 변환할 때 유용
함수 코드 (AutoIt)
Func UTF8ToASCII($utf8File, $asciiFile) ; UTF-8 파일 읽기 (바이너리 모드) Local $hFile = FileOpen($utf8File, 16) ; 16 = 바이너리 모드 If $hFile = -1 Then MsgBox(16, "Error", "UTF-8 파일을 열 수 없습니다: " & $utf8File) Return False EndIf Local $utf8Content = FileRead($hFile) ; UTF-8 데이터 읽기 FileClose($hFile) ; BOM 제거 (있을 경우) If BinaryMid($utf8Content, 1, 3) = Binary("0xEFBBBF") Then $utf8Content = BinaryMid($utf8Content, 4) EndIf ; UTF-8 문자열을 ASCII로 변환 (문자 매핑) Local $asciiContent = BinaryToString($utf8Content, 4) ; 4 = UTF-8 모드 $asciiContent = StringToASCII($asciiContent) ; ASCII 파일로 저장 $hFile = FileOpen($asciiFile, 2) ; 2 = 쓰기 모드 If $hFile = -1 Then MsgBox(16, "Error", "ASCII 파일을 생성할 수 없습니다: " & $asciiFile) Return False EndIf FileWrite($hFile, $asciiContent) FileClose($hFile) MsgBox(64, "Success", "파일 변환이 완료되었습니다.") Return True EndFunc Func StringToASCII($str) ; ASCII 문자만 유지, 나머지는 '?'로 변환 Local $ascii = "" For $i = 1 To StringLen($str) Local $char = StringMid($str, $i, 1) If Asc($char) < 128 Then $ascii &= $char Else $ascii &= "?" ; 비 ASCII 문자는 '?'로 대체 EndIf Next Return $ascii EndFunc ; 사용 예제 UTF8ToASCII("example_utf8.txt", "example_ascii.txt")