OSDN Git Service

revise amulet search to consider of seed1 value,
[amulettoolsmh4/main.git] / convertcoding.py
1 # -*- coding: utf-8 -*-
2
3 u"""
4     Conversion Function str to unicode
5     2013/12/14 written by kei9
6 """
7
8 codecs = [u'utf-8',u'cp932',u'shift_jis',u'euc_jp',
9         u'euc_jis_2004',u'euc_jisx0213',u'iso2022_jp',u'iso2022_jp_1',
10         u'iso2022_jp_2',u'iso2022_jp_2004',u'iso2022_jp_3',u'iso2022_jp_ext',
11         u'shift_jis_2004',u'shift_jisx0213',u'utf_16',u'utf_16_be',
12         u'utf_16_le',u'utf_7',u'utf_8_sig'];
13
14 def convert_unicode(data):
15     u""" str型の引数をunicodeへの変換を試みる。
16     変換が可能であれば変換後のunicode文字列と、引数のcodecを返す。
17     変換ができない場合はNoneを返す
18     return:
19         when data is unicode
20             data
21         when data can decode to unicode
22             uni_str
23         cannot decode
24             None
25     """
26     if isinstance(data, basestring):
27         if isinstance(data, unicode):
28             # when data isunicode
29             return data
30
31         f = lambda d, enc: d.decode(enc);
32         for codec in codecs:
33             try:
34                 return f(data, codec);
35             except: continue;
36         return None;
37     else:
38         # data isn't string
39         return None