Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: latin1 인코딩의 옛한글을 핸들링할 수 있는 기능이 있으면 좋을 것 같습니다. #252

Open
hsh2001 opened this issue Sep 18, 2024 · 3 comments
Assignees

Comments

@hsh2001
Copy link

hsh2001 commented Sep 18, 2024

Description

NestJS를 통해 파일을 업로드하는 기능을 제작중에 있는데, 파일의 이름이 latin1로 인코딩 되는 많은 OS 에서는 옛한글로 저장되기에 자소분리가 되는 경우가 잦습니다. 맥의 파일을 윈도우로 전달했더니 자소가 분리되는 경험을 하신 분들이 많은 것으로 알고 있는데, 옛한글 인코딩으로 저장된 한글을 현대 UTF8 인코딩으로 잘 해석하는 기능이 있으면 좋을 것 같아요.

https://ko.wikipedia.org/wiki/%EC%98%9B%ED%95%9C%EA%B8%80

Possible Solution

No response

etc.

No response

@hsh2001
Copy link
Author

hsh2001 commented Oct 7, 2024

괜찮다면 저를 담당자로 지정해주셔서 제가 이 기능을 개발해봐도 될까요? @okinawaa

@okinawaa
Copy link
Member

okinawaa commented Oct 7, 2024

@hsh2001 네 너무 좋아요!
세세한 구현은 언제든 바뀔 수 있으니, 생각하시는 인터페이스 정도 공유해주시면 좋을 것 같아요 !!

@hsh2001
Copy link
Author

hsh2001 commented Oct 24, 2024

생각해보니 옛한글에서는 존재했지만 이제는 사라진 많은 자음과 모음이 조합된 글자는 현대 한글로 변환할 수가 없네요.. 또, 옛한글을 현대한글로 변환할 수 있는 사례(예를 들면 아래아를 ㅏ로 변환)가 몇몇 있다보니 조사가 방대하게 필요할 것 같습니다...

일단은 다음과 같은 인터페이스를 제안드릴 수 있을 것 같아요! (네이밍은 일단 보류..)

// 입력으로 받은 문제열에 옛한글이 포함되어 있는가?
include옛한글(str: string): boolean;

// 옛한글이 포함된 문자열이라면, 포함된 모든 문자열이 현대한글로 변환될 수 있는가?
canBeReplace엣한글to현대한글(str: string): boolean;

// 대체할 수 없는 옛한글을 현대 한글로 변환하려 할 때 내는 에러
class Irreplaceable옛한글Error extends Error;

// 옛한글을 현대한글로 변환
// @throws Irreplaceable옛한글Error
replace옛한글to현대한글(str: string): string;

(사실 요즘 옛한글을 실질적으로 사용하는 사례는 적고, 말씀드린 파일 이름과 같은 예시가 대부분이긴 합니다..)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants