Из-за документа glib.string.escape ()
Экранирует специальные символы '\ b', '\ f', '\ n', '\ r', '\ t ',' \ v ',' \ 'и' "'в источнике строки, вставив перед ними' \ '.
Дополнительно все символы в диапазоне 0x01-0x1F (все ниже пробела) и в диапазон 0x7F-0xFF (все не-ASCII-символы) заменяются на '\ ", за которым следует их восьмеричное представление. Символы, указанные в исключениях, не экранируются.
Теперь я хочу not eacape "0x7F-0xFF" символов. Как написать исключение часть?
мой пример кода не работает.
shellcmd = "bash -c \""+file.get_string(title,"List").escape("0x7F-0xFF")+"\"";
print("shellcmd: %s\n", shellcmd);
Process.spawn_command_line_sync (shellcmd,
out ls_stdout, out ls_stderr, out ls_status);
if(ls_status!=0){ list = ls_stderr.split("\n"); }
else{ list = ls_stdout.split("\n"); }
это работает.
shellcmd = "bash -c \""+file.get_string(title,"Check").replace("\"","\\\"")+"\"";