유니코드를 KSC5601로 변경하는 방법을 알고싶습니다....

cibangbird의 이미지

안녕하세요...
제목 그대로 유니코드를 ksc5601로 변경하는 방법을 알고싶습니다...
ksc5601에서 유니코드로는 변경을 인터넷 검색으로 알아낸 맵핑테이블을 이용해서 변경을 하였는데요
역으로 갈려니 이게 찾아낸 소스에서 거슬러 올라갈려니 미지수가 두개가 되어버려 값을 알아낼수가 없어요..ㅡㅜ
아래 링크의 내용을 참고했습니다.
http://joyholic.kr/260

그리고 한글을 초중종성으로 분리는 알았는데 문제는 합체를 어떻게 해야할지 잘 모르겠어요...ㅡㅜ

윈도우에서 프로그래밍 할때는 아무생각없이 쓰던 부분인데 리눅스에서 한글 입력받는걸 구현할려니 힘드네요....
구현 방법에 대해서 조언좀 부탁드립니다...

트비터의 이미지

유니코드와 KSX1001은 왕복 변환이 불가능해요. 유니코드에 점무늬 사각형표가 없기 때문입니다. http://kldp.org/node/115569 을 참조하세요.


한국어
위키책

김정균의 이미지

http://cvs.oops.org/?cvsroot=PHP-Module&module=pear_KSC5601 를 분석해 보세요. unicode 라는 것이 utf8을 말하는 것인지 ucs를 말하는 것인지는 모르겠지만.. 보통 utf8 / ksc5601간의 변환은

    utf8 <-> ucs2/4 <-> ksc5601

사이의 변환이라고 보시면 되고, 이 코드에서 변환을 어떻게 하는지 분석 하실 수 있습니다. (물론 코드 테이블 당연히 필요하고, 날림 지식입니다. ^^)

트비터의 이미지

저 점무늬 사각형표때문에 불가능합니다. 저걸 무시한다고 해도 굳이 Ucs를 거칠 필요 없이 할 수 있습니다.

한국어
위키책

CCCP

hiseob의 이미지

자꾸 말장난 하시니까 저도 시비좀 걸어보겠습니다

가능과 불가능 : 완전히 가능 / 부분적으로 (1글자 빼고?) 가능 / 부분적으로 (1글자는 가능?) 불가능 / 완전히 불가능

지금 그러니까 한글자는 변환이 안되지만 나머지는 변환이 되는데 "불가능" 하다고 하신겁니까?

점무늬 사각형표, 별 중요한지 모르겠습니다.

지금 점무늬 사각형표가 UTF8에 없음에 대해서 시위하기 위해서, 말장난 하시는거 같은데....

자유게시판에서는 모르겠습니다만 Q&A 에서는 정말 몰라서, 알고싶어서 물어오시는분들 많습니다.

근데 이딴식으로 "불가능"하다고 단정짓는 답변을 달아서, 보는사람의 의욕을 떨어트리며, 동시에 잘못된 정보를 전달하는 행위를 보니 참을수 없네요.

다시 말하지만 "적당히 하십쇼" 젠장.

Prentice의 이미지

UCS-2나 UCS-4를 절대 안 거치고 변환
UCS-4를 거쳐 변환

과연 어느 쪽이 쉬울까요?

comafast의 이미지

인코딩간의 변환은 전통적으로 유닉스(리눅스)에서 많이 사용하는 libiconv를 사용하시면 될듯합니다. 오랜동안 사용되어 검증된 라이브러리이기때문에 직접 만드는것 보다는 안정성이 좋을것 같습니다.

한글입력부분도 지원되는 api나 라이브러리를 찾는것이 정신건강상 좋을듯 하네요. 로우레벨에서 키입력값만으로 한글처리를 하려면 한글입력기를 만들어야 합니다. 배보다 배꼽이 더 클듯..

김정균의 이미지

첨언하자면.. glibc에는 iconv가 내장이 되어 있습니다. gnu libiconv 보다 성능이나 변환능력치가 더 좋습니다.
즉, -liconv로 링크 하지 않고 그냥 해당 API를 사용하시면 된다는 의미입니다.

가끔 보면.. glibc의 -lc 를 link하면서.. libiconv를 설치하고 -liconv를 링크하는 경우를 종종봐서..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.