sqlite 병 음 정렬
홈 페이지 에서 병 음 표를 다운로드 하 다.
http://www.unicode.org/Public/6.0.0/ucd/
Unihan.zip
압축 풀기 후 유 니 한Readings. txt 파일 은 0x4e 00 - 0x9fa 5 사이 의 줄 을 꺼 내 고 kMandarin 표준어 형식 (kHanyuPinlu 수량 이 너무 적 음) 만 있 으 면 됩 니 다.아래 와 같다
U+4E00 kMandarin YI1
U+4E01 kMandarin DING1 ZHENG1
U+4E02 kMandarin KAO3 QIAO3 YU2
U+4E03 kMandarin QI1
U+4E04 kMandarin SHANG4 SHANG3
。。。。。
링크 ux 스 크 립 트 는 다음 과 같 습 니 다.
grep 'kMandarin' Unihan_Readings.txt > putong.txt
kMandarin 을 빈 칸 으로 바 꾸 기
sed 's/kMandarin/ /g' putong.txt > pug.txt
wc -l pug.txt
25550 pug.txt
다음은 0x4e 00 - 0x9fa 5 로 시작 하 는 줄 을 삭제 합 니 다.
grep -n "U+4E00" pug.txt
5060:U+4E00 YI1
sed '1,5059d' pug.txt > tmp.txt
grep -n "U+9FA5" tmp.txt
20252:U+9FA5 YU4
sed '20253,$d' tmp.txt > pugd.txt
이렇게 0x4e 00 - 0x9fa 5 로 시작 하 는 줄 만 남 았 습 니 다.
그리고 정렬 을 시작 하 겠 습 니 다.
그리고 정렬 을 시작 하 겠 습 니 다.
sort -t" " -k2 pugd.txt > pugds.txt
U+5416 A1
U+9515 A1
U+963F A1 A4 A5 E1 E3 A3
U+9312 A1 KE1
U+55C4 A2 SHA4
U+554A A5
U+54C0 AI1
개인 적 으로 병 음 음 음 조 를 한 후에 주파수 배열 을 더 해 야 한다 고 생각 합 니 다. 다 음 자 는 첫 번 째 를 취하 고 어떤 순 서 는 다음 과 같 습 니 다.뻔 하 잖 아. 첫 번 째 로 해 야 지.직접 사용 하 는 문서 가 없 으 면 그만 두 어 라. 어차피 자주 사용 하지 않 는 글 자 는 거의 나타 나 지 않 는 다.0x4e 00 - 0x9fa 5 를 넣 고 병 음 대 주파수 에 대응 하 는 정렬 은 먼저 병 음 성조 와 주파 수 를 넣 고 다 음 자 는 첫 번 째 (자신의 취향 에 따라 배열 할 수 있 으 며 병 음 순 서 는 긍정 적 이다)
[11] 아크 악티늄 악티늄
[12] 네
[13] 아
[14] 아
[15] 아아
--------------------------------------------------------------------------------------------
그리고 첫 번 째 열 내용 을 추출 합 니 다.
cut -c1-6 pugds.txt > pugdsc.txt
U+5416
U+9515
U+963F
/ / 소문 자 대문자
//sed 's/.*/\U&/g' file
/ / 대문자 소문 자
sed 's/.*/\L&/g' pugdsc.txt > tmp.txt
/ / u + 를 tab [0x 형식 으로 바 꾸 고 최종 적 으로 [0x 0616] = 0x 0000, 배열 형식 으로 바 꿉 니 다.
sed 's/u+/\t[0x/' tmp.txt > tmp2.txt
/ / 줄 끝 삽입 "] = 0x"
sed 's/$/] = 0x/' tmp2.txt > tmp3.txt
/ / 배열 아래 표 시 를 삽입 합 니 다.
awk '/$/{gsub(/$/,sprintf("%.04x,",++i))}1' tmp3.txt > tmp4.txt
/ / 배열 이름 삽입
sed -i '1 i\static const unsigned short buf[] ={' tmp4.txt
/ / 배열 끝 문자 삽입
sed '$ a\};' tmp4.txt > pugdscb.txt
--------------------------------------------------------------------------------
결 과 는 다음 과 같다.
static const unsigned short buf[] =
{
[0x5416] = 0x0001,
[0x9515] = 0x0002,
[0x963f] = 0x0003,
[0x9312] = 0x0004,
[0x55c4] = 0x0005,
[0x554a] = 0x0006,
[0x54c0] = 0x0007,
[0x54ce] = 0x0008,
...
};
2.
sqlite3_create_collation(db,"pinyin",SQLITE_UTF8,NULL,binCollFuncUtf8);
레 퍼 런 스
https://groups.google.com/forum/#!topic/sunpinyin-developers/Q0z5J_LG7Ag
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.