blob: 42403eae88c24577ab8ec56a2d55fb6cff313185 [file] [log] [blame]
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +09001#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
Nobuaki Sukegawa760511f2015-11-06 21:24:16 +090020import sys
21
22if sys.version_info[0] == 2:
23
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +090024 from cStringIO import StringIO as BufferIO
Nobuaki Sukegawa760511f2015-11-06 21:24:16 +090025
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +090026 def binary_to_str(bin_val):
27 return bin_val
Nobuaki Sukegawa760511f2015-11-06 21:24:16 +090028
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +090029 def str_to_binary(str_val):
30 return str_val
Nobuaki Sukegawa760511f2015-11-06 21:24:16 +090031
32else:
33
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +090034 from io import BytesIO as BufferIO
Nobuaki Sukegawa760511f2015-11-06 21:24:16 +090035
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +090036 def binary_to_str(bin_val):
37 try:
38 return bin_val.decode('utf8')
39 except:
40 return bin_val
Nobuaki Sukegawa760511f2015-11-06 21:24:16 +090041
Nobuaki Sukegawa10308cb2016-02-03 01:57:03 +090042 def str_to_binary(str_val):
43 try:
44 return bytes(str_val, 'utf8')
45 except:
46 return str_val