1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 from sys import version_info
19
20 try:
21 PY3 = version_info.major >= 3
22 except AttributeError:
23 PY3 = False
24
25
27
28 if PY3:
29 if isinstance(obj, str):
30 return obj
31 else:
32 return str(obj, 'utf8', errors='ignore')
33 else:
34 if isinstance(obj, unicode):
35 return obj
36 return unicode(obj, 'utf8', 'ignore')
37
39
40 if PY3:
41 if isinstance(obj, bytes):
42 return obj
43 else:
44 return bytes(obj, 'utf8', errors='ignore')
45 else:
46 if isinstance(obj, str):
47 return obj
48 return str(obj.encode('utf8', 'ignore'))
49
51
52 if PY3:
53 if isinstance(obj, str):
54 return obj
55 else:
56 return str(obj, 'utf8', errors='ignore')
57 else:
58 if isinstance(obj, str):
59 return obj
60 return str(obj.encode('utf8', 'ignore'))
61