def toUnicode(s): if not s: return if flib.PY2 and isinstance(s, unicode): return s elif flib.PY3 and isinstance(s, str): return s try: enc = chardet.detect(s)['encoding'] #print enc if enc == 'ISO-8859-2' or enc == "TIS-620": enc = 'gbk' if flib.PY2: return unicode(s, enc, 'ignore') elif flib.PY3: return s.decode('utf-8', 'ignore') except Exception as e: flib.printf(str(e)) return ### charsets = ('gbk', 'gb18030', 'gb2312', 'iso-8859-1', 'utf-16', 'utf-8', 'utf-32', 'ascii') for charset in charsets: try: #print charset if flib.PY2: return unicode(s, charset) elif flib.PY3: return s.decode('utf-8') except: continue
def main(): from locale import getpreferredencoding flib.printf(sys.stdout.encoding, getpreferredencoding()) Log.log("b", "a") #Log.expt("Tesxt你好") flib.printf(toUTF8('Hello你好')) # p = subprocess.Popen(shlex.split("svn log -l 10"), shell=True, stdout=subprocess.PIPE) # print(p.stdout.read()) # p.wait() exec_sh("svn info $1", args=["F:/Seven/ElementUnityWin"], logout=True) exec_command('''svn info "{path}"''', path="F:/Seven/ElementUnityWin") safe_execute('''svn info "F:/Seven/ElementUnity"''', logout=True) # print platform.system() # Log.log("b", "a") # __log__('',"为什么") # print toStr("为什么") #nc_server().start() print(getJavaProperty("-Dfile.encoding"))
def toStr(s): if not s: return "" try: if flib.PY2: if not isinstance(s, unicode) and not isinstance( s, str) and not isinstance(s, bytes): return str(s) elif flib.PY3: if not isinstance(s, str) and not isinstance(s, bytes): return str(s) if isinstance(s, str): return s elif isinstance(s, bytes): return s.decode('utf-8') if sys.stdout.encoding == "cp936": return toGBK(s) return toUTF8(s) except Exception as e: flib.printf(str(e)) return s
def toJenkinsEncoding(s): if not s: return "" try: if flib.PY2: if not isinstance(s, unicode) and not isinstance( s, str) and not isinstance(s, bytes): return str(s) elif flib.PY3: if not isinstance(s, str) and not isinstance(s, bytes): return str(s) global __jenkins_encoding if not __jenkins_encoding: __jenkins_encoding = getJavaProperty("file.encoding") if __jenkins_encoding.lower() == 'gbk': return toGBK(s) elif __jenkins_encoding.lower() == 'gb2312': return toGB2312(s) else: return toUTF8(s) except Exception as e: flib.printf(str(e)) return s
def toUTF8(s): try: if flib.PY2: if not isinstance(s, unicode) and not isinstance( s, str) and not isinstance(s, bytes): return elif flib.PY3: if not isinstance(s, str) and not isinstance(s, bytes): return if flib.PY2 and isinstance(s, unicode): return s.encode('utf-8') elif flib.PY3 and isinstance(s, str): return s.encode('utf-8') enc = chardet.detect(s)['encoding'] if enc == 'utf-8': return s else: s = toUnicode(s) if s: return s.encode('utf-8') except Exception as e: flib.printf(str(e)) return