こちらのサイトを参考に作成。
こちらのサイトで紹介されていた「Unicode変換テーブル」のリンクは変更が有ったみたいでリンク切れでした。
その為、unicode.orgでサイト内検索で「JIS X 0208」で検索したところ以下のURLが該当のファイルの様でした。
http://unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT
このファイルは先頭にコメントが記載され、その後に「shift-JISの文字コード」「JIS X 0208の文字コード」「Unicodeの文字コード」「Unicode名」の順にタブ区切りで記載されています。
【コメント部のデータフォーマットの説明部分】
# Column #1 is the shift-JIS code (in hex) # Column #2 is the JIS X 0208 code (in hex as 0xXXXX) # Column #3 is the Unicode (in hex as 0xXXXX) # Column #4 the Unicode name (follows a comment sign, '#')
【データ部の先頭】
0x8140 0x2121 0x3000 # IDEOGRAPHIC SPACE 0x8141 0x2122 0x3001 # IDEOGRAPHIC COMMA 0x8142 0x2123 0x3002 # IDEOGRAPHIC FULL STOP 0x8143 0x2124 0xFF0C # FULLWIDTH COMMA 0x8144 0x2125 0xFF0E # FULLWIDTH FULL STOP 0x8145 0x2126 0x30FB # KATAKANA MIDDLE DOT
このファイルに記載されているものが以下の様な文字、計6879文字となっています。
* 第1水準漢字 ‐ 2,965文字 * 第2水準漢字 ‐ 3,390文字 * 非漢字 ‐ 524字 o ひらがな o カタカナ o 記号 o ギリシャ文字 o キリル文字 o 罫線素片
JIS X 0208 ‐ 通信用語の基礎知識
http://www.wdic.org/w/WDIC/JIS%20X%200208
JIS X 0208に当たる文字を取得する Python のプログラムはこちら。
#! /usr/bin/env python # coding: utf-8 # coding=utf-8 # -*- coding: utf-8 -*- # vim: fileencoding=utf-8 import codecs ch_list = [] f = open('JIS0208.TXT', 'r') for row in f: if row[0] != '#': c = row.split("\t")[2] ch_list.append(unichr(int(c, 16))) f.close() f = codecs.open('unicode.txt', 'w', 'utf-8') txt = "".join(ch_list) #txt = "\n".join(ch_list) f.write(txt) f.close()
以下の様に連結しているので最終的な出力ファイルには文字が隙間なく並んでいますが
txt = "".join(ch_list)
以下の様に記述すると1行に1文字出力されます。
txt = "\n".join(ch_list)