Unicode 在iconv中将UTF-8转换为UTF-16

Unicode 在iconv中将UTF-8转换为UTF-16,unicode,Unicode,据我所知,UTF-8形式的“你好" (英文意思是“你好吗?”是 \xe4\xbd\xa0\xe5\xa5\xbd,UTF-16格式为u\u4f60\u597d(或者您可以将其写成\x4f\x60\x59\x7d) 现在我使用iconv将UTF-8转换为UTF-16。首先,我创建了一个新文件,其中有一行(“你好),并运行以下命令: cat test | iconv -f UTF-8 -t UNICODE ��`O}Y 它不是\x4f\x60\x59\x7d。如何获得正确的输出?它不是UT

据我所知,UTF-8形式的“你好" (英文意思是“你好吗?”是
\xe4\xbd\xa0\xe5\xa5\xbd
,UTF-16格式为
u\u4f60\u597d
(或者您可以将其写成
\x4f\x60\x59\x7d

现在我使用iconv将UTF-8转换为UTF-16。首先,我创建了一个新文件,其中有一行(“你好),并运行以下命令:

cat test | iconv  -f  UTF-8 -t UNICODE  
��`O}Y

它不是\x4f\x60\x59\x7d。如何获得正确的输出?

它不是
UTF-8
,而是
UCS-2

尝试:-


提示不支持utf-8?问:出于好奇,什么是语言?字符集“\xe4\xbd\xa0\xe5\xa5\xbd”实际上是6个1字节utf-8字符?还是3个16位utf-16字符?第一个字符串中的6个字节如何映射到第二个字符串中的4个字节?一个“转换”根本没有意义。IMHO…:(中文,在utf-8中,三个字节是一个字符。Nit:utf-8是Unicode的一种特定字节序列表示形式。人们不能将utf-8转换为Unicode,正如人们不能将十进制值转换为整数值一样。但是,人们可以将整数值的十进制表示形式转换为二进制表示形式,从而可以转换utf-8表示形式。)将Unicode表示形式转换为另一种表示形式,如UTF-16..或适当的表示形式。在我看来,字节顺序可能会混淆,但使用UTF-16而不是“Unicode”可能会更好。
cat test | iconv  -f  UCS-2 -t UTF-16