我运行一个Python脚本,该脚本生成一个字符串,然后使用该字符串执行一个shell脚本。我希望使用linux检查该字符串的编码,但不将该字符串写入文件(磁盘操作运行缓慢)。是否可以只使用RAM检查Linux (Ubuntu)中字符串的编码?类似于:
检查编码‘我的字符串与随机编码’
Python检查编码脚本也很慢。
发布于 2015-05-05 09:45:17
尝试文件实用程序。您可以通过使用带有echo管道的-选项将任何字符串作为文件参数传递到文件中(许多命令使用连字符(-)代替文件名作为参数,以指示输入何时来自stdin而不是文件):
:~ $ echo "test" | file -i -
/dev/stdin: text/plain; charset=us-ascii
:~ $ echo "тест" | file -i -
/dev/stdin: text/plain; charset=utf-8用管道连接苏醒:
:~ $ echo "тест" | file -i - | sed 's/.*charset=\(.*\)/\1/'
utf-8或者使用awk (当然可以混合使用):
:~ $ echo "тест" | file -i - | awk '{ print $3 }'
charset=utf-8此外,您还可以使用python 查德特模块。Chardet附带一个命令行脚本,它报告一个或多个文件的编码。安装时只需:
pip install chardet与来自回声的管道一起使用:
:~ $ echo "тест" | chardetect
<stdin>: utf-8 with confidence 0.938125https://stackoverflow.com/questions/30049037
复制相似问题