게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

한국어 문제점

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2010)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
구상준



가입: 2009년 9월 18일
올린 글: 27

올리기올려짐: 2010년9월10일 2:39    주제: 한국어 문제점 인용과 함께 답변

let some = [(0,"") ; (1,"일") ; (2,"이") ; (3,"삼") ; (4,"사") ; (5,"오"); (6,"육") ;(7,"칠");(8,"팔");(9,"구")];;
제가 앞에서 이렇게 선언해놓았습니다.
그런데 ocaml로 실행시켜볼 때
some ;; 에서 나오는 값과
실제로 "팔";; 을 쳤을 때 나오는 값이 다릅니다.
무슨 말인고하니, some;;을 하면

[(0, ""); (1, "\192\207"); (2, "\192\204"); (3, "\187\239"); (4, "\187\231");
(5, "\191\192"); (6, "\192\176"); (7, "\196\165"); (8, "\198\200");
와 같은 형식으로 나오지만
"팔";; 하면 : - string = "\237\140\148" 과 같은 값이 나옵니다.
위의 8자리에 있었던 한글의 값과 다른 값이 나오며
print_string으로 찍어보면 이상하게 나옵니다.


추가 질문 10일 오전 10시 19분에 추가됨.

만약 1000-2000 이라고 된 전화번호가 있으면
[["천"] ["이";"천"]] 이라고 해야하나요?
[["일";"천"] ["이";"천"]]이라고 해야하나요?
위로
사용자 정보 보기 비밀 메시지 보내기
안준환



가입: 2010년 9월 2일
올린 글: 12

올리기올려짐: 2010년9월10일 10:50    주제: Re: 한국어 문제점 인용과 함께 답변

구상준 씀:
let some = [(0,"") ; (1,"일") ; (2,"이") ; (3,"삼") ; (4,"사") ; (5,"오"); (6,"육") ;(7,"칠");(8,"팔");(9,"구")];;
제가 앞에서 이렇게 선언해놓았습니다.
그런데 ocaml로 실행시켜볼 때
some ;; 에서 나오는 값과
실제로 "팔";; 을 쳤을 때 나오는 값이 다릅니다.
무슨 말인고하니, some;;을 하면

[(0, ""); (1, "\192\207"); (2, "\192\204"); (3, "\187\239"); (4, "\187\231");
(5, "\191\192"); (6, "\192\176"); (7, "\196\165"); (8, "\198\200");
와 같은 형식으로 나오지만
"팔";; 하면 : - string = "\237\140\148" 과 같은 값이 나옵니다.
위의 8자리에 있었던 한글의 값과 다른 값이 나오며
print_string으로 찍어보면 이상하게 나옵니다.

파일 인코딩은 EUC-KR(혹은 CP949)로 되어 있고 실행 환경은 UTF-8을 사용하는 문제인 것 같네요.
파일을 UTF-8로 저장하시면 될 것 같습니다. ( vim을 사용하는 경우 :set fenc=utf-8 )

구상준 씀:
만약 1000-2000 이라고 된 전화번호가 있으면
[["천"] ["이";"천"]] 이라고 해야하나요?
[["일";"천"] ["이";"천"]]이라고 해야하나요?

https://ropas.snu.ac.kr/phpbb/viewtopic.php?p=6136#6136
또한 숙제 페이지에 나온 예에서 8801857을 [["팔"; "백"; "팔"; "십"]; ["천"; "팔"; "백"; "오"; "십"; "칠"]]로 읽었으니 앞의 것이 맞는 것 같습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
최종욱



가입: 2009년 9월 15일
올린 글: 84

올리기올려짐: 2010년9월10일 19:13    주제: 인용과 함께 답변

제가 앞에서 한번 질문한 적이 있었는데요, 이는 파일 인코딩 문제가 아닙니다.

UTF-8 환경에서 작업해도 인터프리터 상에서는 저렇게 바이트...로 나옵니다-_-;

그래서 디버그 (또는 확인/테스트)를 하기 위해서는 직접 함수를 만들어 줘야 합니다.

예를 들면

코드:
let debug x = match x with
  [a; b] -> print_string ((String.concat "" a) ^ " " ^ (String.concat "" b) ^ "\n")


이렇게요.
_________________
Jongwook Choi
Seoul National University, School of Computer Science & Engineering
위로
사용자 정보 보기 비밀 메시지 보내기
안준환



가입: 2010년 9월 2일
올린 글: 12

올리기올려짐: 2010년9월10일 19:31    주제: 인용과 함께 답변

최종욱 씀:
제가 앞에서 한번 질문한 적이 있었는데요, 이는 파일 인코딩 문제가 아닙니다.

UTF-8 환경에서 작업해도 인터프리터 상에서는 저렇게 바이트...로 나옵니다-_-;

그래서 디버그 (또는 확인/테스트)를 하기 위해서는 직접 함수를 만들어 줘야 합니다.

예를 들면

코드:
let debug x = match x with
  [a; b] -> print_string ((String.concat "" a) ^ " " ^ (String.concat "" b) ^ "\n")


이렇게요.


저는 원 글에서 구상준씨께서 "팔"을 인터프리터에서 입력하면 "팔"의 UTF-8 표현인 "\237\140\148"이 출력되지만 some을 출력하면 "팔"의 EUC-KR 바이트열인 "\198\200"이 출력된다고 하셔서 파일 인코딩과 출력 인코딩이 맞지 않아서 발생하는 문제로 판단했습니다. 또한 윗 글에서 print_string으로 출력해 보면 이상하게 나온다고도 말씀하셨고요.
위로
사용자 정보 보기 비밀 메시지 보내기
구상준



가입: 2009년 9월 18일
올린 글: 27

올리기올려짐: 2010년9월10일 21:38    주제: 안준환님께서 답변을 정확하게 해주셨습니다. 인용과 함께 답변

제가 확인해보니까 적어도 저의 경우는
파일 인코딩 때문에 발생한 문제였습니다.
위로
사용자 정보 보기 비밀 메시지 보내기
최종욱



가입: 2009년 9월 15일
올린 글: 84

올리기올려짐: 2010년9월11일 3:22    주제: 인용과 함께 답변

아, 제가 잠시 착각을 한 것 같습니다. 지적 감사드립니다~
_________________
Jongwook Choi
Seoul National University, School of Computer Science & Engineering
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2010) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay