ISO-2022-KR이 잘 이해가 안갑니다.

ageldama의 이미지

안녕하세요.

팩터언어(http://factorcode.org/)에 한글, 일본어 인코딩을 contribute하고 있습니다.
(http://ageldama.tistory.com/44)

이미 확장완성형, 조합형 등의 한글코드에 대해서는 작업/테스트가 완료되서 현재 반영하여 릴리즈하고 있습니다.

이번에 ISO-2022-KR에 대해서도 작업을 하고 있는데 뭔가 좀 제대로 안굴러가는 느낌이라 도움을 구합니다.

대략 다음처럼 하면 될듯해서 작업을 했습니다.

(SO) : 0x0e
(SI) : 0x0f
(DESIGNATOR) : '\$\\)C'

euc->iso:
* (DESIGNATOR) at the beg. : 원래는 있어야겠지만, 없어도 되니까-_- 넣지마
* KSX1001 문자들중 GR영역을 GL로 변환하고 (SO)(SI)로 감싸기.
* tr/\xA1-\xFE/\x21-\x7E/;

iso->euc:
* (DESIGNATOR) 혹시 발견되면 그냥 없애버려-_-;;
* (SO)(SI)사이의 GL문자들을 GR문자로 바꾸고, (SO)(SI) 떼어내기
* tr/\x21-\x7E/\xA1-\xFE/;

그리고 결과적으로 다음과 같은 코드를 작성했습니다.

http://github.com/ageldama/factor/tree/79033192631953b529e3a3c6859a773f83084de3

(basis/io/encodings/korean.factor에 구현해놨어용 ㅜ.ㅜ)

뭔가 ISO-2022-KR로 인코딩은 잘되긴한거 같은데 (SI)가 나와야할 시점에 없는지 좀 까탈스러우신 iconv은 잘못된 시퀀스라고 하시더군요-_-;;

아... 뭔가 팁이 있을까요; 아니면 아예 잘못한건 아닐까요.

정태영의 이미지

제가 예전에 인코딩 관련해서 정리해놓은 글이 있습니다. 그 안에 pseudo code도 있구요.

http://b.mytears.org/2005/01/101

(DESIGNATOR)는 있으나마나한 존재가 아니라 SI/SO가 나오기 전 아무 위치에나 들어가있기만 하면 됩니다. iconv로 변환을 하면 아예 맨 앞에 붙이더라구요. 아마도 이걸 빼먹으셔서 에러가 난 게 아닐까 싶습니다.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

ageldama의 이미지

감사합니다!

어쩐지 시퀀스 길이가 좀 다르더라는;;;

근데 SI/SO처럼 매번 나오는게 아니라 문자열의 한번으로 충분한가요?
(아니면 여러번 나와도 상관이 없을까요?)

----
The future is here. It's just not widely distributed yet.
- William Gibson

----
The future is here. It's just not widely distributed yet.
- William Gibson

JuEUS-U의 이미지

한글을 사용한다는걸 '선언'한다 쯤 되겠네요 = _=)
한번만 쓰이면 됩니다.

ageldama의 이미지

고맙습니다.

테스트해봤는데 없어도 대부분의 디코더는 정상적으로 디코딩하더라구요.

실제 사용될때도 여러가지 문제가 있었던듯...

http://trade.chonbuk.ac.kr/~leesl/code/rfc1557draft.html

----
The future is here. It's just not widely distributed yet.
- William Gibson

----
The future is here. It's just not widely distributed yet.
- William Gibson

정태영의 이미지

'약속'이란 건 지키라고 있는겁니다.

'대부분의 경우 이걸 빼버려도 잘되더라...' 어디서 많이 들은 말 같지 않습니까? 비약해보면 그 덕에 비IE에서는 인터넷 뱅킹을 할 수 없게 되었습니다.

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

ageldama의 이미지

예 정말 감사하고 공감하는 말씀입니다.

하지만 있어도 굴러가고, 없어도 굴러간다면, 없어도 굴러가게 하는게 정확한 소프트웨어를 구현하는게 아닐까요.

작업하고 있는 인코딩 시스템에서 strict모드가 존재하는만큼 반영이 된다면 좋겠네요.

정말 맞는 말씀이고 좋은 말씀이지만 약간 이런 내용에 어울리지않게 교조적이라고 생각합니다. (그래서인지 비약이라고 말씀해주셨군요.)

저 또한 좋은 표준을 잘 지키면 그것만큼 좋은게 없을거라고 생각합니다. (어떤 특정 업체나 구현에 의해 굴절되지않고.)

----
The future is here. It's just not widely distributed yet.
- William Gibson

----
The future is here. It's just not widely distributed yet.
- William Gibson

ageldama의 이미지

고맙습니다.

테스트해봤는데 없어도 대부분의 디코더는 정상적으로 디코딩하더라구요.

실제 사용될때도 여러가지 문제가 있었던듯...

http://trade.chonbuk.ac.kr/~leesl/code/rfc1557draft.html

----
The future is here. It's just not widely distributed yet.
- William Gibson

----
The future is here. It's just not widely distributed yet.
- William Gibson