Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检入已经由Python脚本生成的字符串的linux shell编码_Python_Linux_String_Shell_Encoding - Fatal编程技术网

如何检入已经由Python脚本生成的字符串的linux shell编码

如何检入已经由Python脚本生成的字符串的linux shell编码,python,linux,string,shell,encoding,Python,Linux,String,Shell,Encoding,我运行一个Python脚本,该脚本生成一个字符串,然后使用该字符串执行一个shell脚本。 我想使用linux shell检查该字符串的编码,但不将该字符串写入文件(磁盘操作运行缓慢)。 是否可以只使用RAM检查Linux(Ubuntu)中字符串的编码? 比如: 检查编码“使用随机编码的我的字符串” Python检查编码脚本也很慢。试试文件实用程序。通过使用带有-选项的echo管道到实用程序,可以将任何字符串作为文件参数传递到文件(许多命令使用连字符(-)代替文件名作为参数,以指示输入何时应来自

我运行一个Python脚本,该脚本生成一个字符串,然后使用该字符串执行一个shell脚本。 我想使用linux shell检查该字符串的编码,但不将该字符串写入文件(磁盘操作运行缓慢)。 是否可以只使用RAM检查Linux(Ubuntu)中字符串的编码? 比如:

检查编码“使用随机编码的我的字符串”


Python检查编码脚本也很慢。

试试文件实用程序。通过使用带有
-
选项的
echo
管道到实用程序,可以将任何字符串作为文件参数传递到文件(许多命令使用连字符(-)代替文件名作为参数,以指示输入何时应来自标准输入而不是文件):

将管道连接至sed:

:~  $ echo "тест" | file -i - | sed 's/.*charset=\(.*\)/\1/'
utf-8
或者到awk(当然可以混合):


您还可以使用python模块。Chardet附带一个命令行脚本,用于报告一个或多个文件的编码。只需使用以下软件安装:

pip install chardet
并与来自echo的管道一起使用:

:~  $ echo "тест" | chardetect
<stdin>: utf-8 with confidence 0.938125
:~$echo“|С|”chardetect
:utf-8,置信度为0.938125
您所说的“检查编码”是什么意思?您只想知道字节在某些编码中是否是有效字符串?(对于UTF-8以外的大多数编码,几乎任何字节字符串都是有效字符串——这对人类来说可能没有任何意义,但您将如何对此进行测试?)
pip install chardet
:~  $ echo "тест" | chardetect
<stdin>: utf-8 with confidence 0.938125