머드클럽
머드게임이란?
게임은 어떤 환경에서?
본격적으로 게임해 볼까?
배너교환
머드강좌
일반 머드강좌
성천사님의 머드강좌
혼님의 머드강좌
방울꽃님의 머드강좌
리트님의 머드강좌
2Soo님의 머드강좌
내머드소개하기
접속가능머드
내머드소개하기
자료실
접속 프로그램
머드소스
머드 유틸리티
기타
커뮤니티
공지사항
등업신청
머드클럽에바란다
자유 게시판
질문 AND 답변
머드클럽 갤러리
구인구직
머드게임소개
사신전(死神戰)
사신전 소개
사신전 맵
사신전 명령어 모음집
천명(天命)
천명 소개
천명 맵
천명 명령어 모음집
마이페이지
로그인
회원가입
계정찾기
로그인
회원가입
계정찾기
텍스트머드클럽
검색
[기타]유니코드(utf-8) 한글 조사 처리
암로
0
1,168
0
0
2020-08-01 14:04:32
<p>90년대 만들어진 머드들의 경우 한글 인코딩을 거의 대부분 EUC-KR을 썼으나</p> <p>유니코드를 지원하는 머드에 맞게 짜여진 조사처리는 없어서 제가 쓴 방법을 공유합니다.</p> <p> </p> <p>사용한 언어가 python이나 로직을 참고하는데는 어려움은 없으실 것이라 생각됩니다.</p> <p> </p> <p>한글 단어의 마지막 글자가 받침이 있는 것과 없는 것의 차이를 확인하면 되는데,</p> <p>utf-8형식의 바이트 코드를 문자열로 변환한후(python 3.x버전대는 변환 필요없음) 아스키 코드(ord)로 변환시킨 후 문자열의 마지막 글자([-1])의 값이</p> <p>아스키 코드값을 28로 나눈 나머지가 16인지 아닌지 여부를 확인하면 됩니다.<br /> 나머지가 16이면 받침이 없는 것이고, 나머지는 받침이 있는 문자들 입니다. </p> <p>(한글 아스키코드 표 링크: http://www.hipenpal.com/tool/characters-to-unicode-charts-in-korean.php)</p> <p> </p> <pre> import sys class _Josa: @classmethod def base(cls, word): if not word: return if sys.version[0] == '2': # python2 일 때 if 44032 <= ord(word.decode('utf-8')[-1]) <= 55203: if ord(word.decode('utf-8')[-1]) % 28 != 16: return True return False else: # python3 if 44032 <= ord(word[-1]) <= 55203: if ord(word[-1]) % 28 != 16: return True return False if word[-1] in ['2', '4', '5', '9']: return False if word[-2:] in ['ng']: return False if word[-1] in ['a', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']: return False return True @classmethod def eunNeun(cls, word): if cls.base(word): return '은' return '는' @classmethod def iGa(cls, word): if cls.base(word): return '이' return '가' @classmethod def eulReul(cls, word): if cls.base(word): return '을' return '를' @classmethod def euroRo(cls, word): if sys.version[0] == '2': if 44032 <= ord(word.decode('utf-8')[-1]) <= 55203: if ord(word.decode('utf-8')[-1]) % 28 != 16 and ord(word.decode('utf-8')[-1]) % 28 != 24: return '으로' return '로' else: if 44032 <= ord(word[-1]) <= 55203: if ord(word[-1]) % 28 != 16 and ord(word[-1]) % 28 != 24: return '으로' return '로' if word[-1] in ['1', '2', '4', '5', '7', '8', '9']: return '로' if word[-1] in ['a', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']: return '로' return '으로' @classmethod def kwaWa(cls, word): if cls.base(word): return '과' return '와' @classmethod def iRanRan(cls, word): if cls.base(word): return '이란' return '란'</pre>
0
0
새글
답변
수정
삭제
최신목록
전체목록
EUC-KR 및 UTF8 한글 처리
지도소스 수정
0
Comments
-표시할 내용이 없습니다.-
코멘트를 삭제할 비밀번호를 입력하세요.
비밀번호:
댓글에 답하기
입력
닫기
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 107개 / 검색된 게시물: 107개
누구든지 머드 강의를 올리수 있는 곳입니다...^^
[circle]
EUC-KR 및 UTF8 한글 처리
0
261
0
0
울보천사
2024-01-08
[기타]
유니코드(utf-8) 한글 조사 처리
0
1169
0
0
암로
2020-08-01
[hanlp]
지도소스 수정
1
1360
1
0
오코
2018-06-07
[기타]
머드 계보
1
10412
0
0
암로
2012-04-28
[mordor]
의형제
0
5309
0
0
LostMemory
2007-10-19
[mordor]
폭탄소스
0
5564
0
0
LostMemory
2007-10-19
[mordor]
패거리 등급 변경
0
6288
0
0
LostMemory
2007-10-19
[mordor]
날짜관리
0
4529
0
0
LostMemory
2007-10-19
[mordor]
마법 추가하기
0
5312
0
0
LostMemory
2007-10-19
[hanlp]
레벨 최대화 32767
0
5438
0
0
LostMemory
2007-10-19
[mordor]
분신이란 기술
0
4783
0
0
LostMemory
2007-10-19
[mordor]
연타
0
4443
0
0
LostMemory
2007-10-19
[mordor]
이자소스
0
5276
0
0
LostMemory
2007-10-19
[mordor]
편지를 아이템화
0
3648
0
0
LostMemory
2007-10-19
[mordor]
직업추가
0
3214
0
0
LostMemory
2007-10-19
[mordor]
패거리 상점 만들기
0
3225
0
0
LostMemory
2007-10-19
[기타]
단땅..프로그램은 멀로 하는거죰.. 첨이라..^^
1
3720
0
0
사마천
2006-06-22
[circle]
오래된거지만.. 써클머드 화일들에 대한 간략한 설명..
2
4239
0
0
머큐리
2006-06-10
[기타]
Dead Souls 2 is now available
2
2979
0
0
Cratylus M.
2006-03-14
[mordor]
Ctrl + Enter 패치 소스 입니다.
0
3121
0
0
탈퇴
2005-02-01
1
2
3
4
5
6
다음
검색
글쓰기
최신목록
전체목록
시작일
종료일
분류별 검색
전체보기
기타
circle
hanlp
mordor
소스분석
흑염
천무혼
검색어
이름
제목
내용
검색
닫기
로그인
회원가입
계정찾기
개인정보처리방침
이용약관
PC화면
Copyright (c) 텍스트머드클럽. All rights reserved.
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
닉네임으로 입력
내용
쪽지가 도착하였습니다.
쪽지함
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--