明显地
ãã
不能存储在2字节中。字符为U+306D和U+3053,以UTF-8编码为
E3 81 AD E3 81 93
所以长度必须设置为6。如果你做到了,你会看到的
getfattr test.txt -d
输出
user.dog=0s44Gt44GT
那是因为
-d
不知道数据的格式,只是将其作为二进制文件转储。这个
0s
前缀表示数据在base64中,如
manpage
:
-
-d
,
--dump
-
-e en
,
--encoding=en
-
检索值后对其进行编码。en的有效值为“text”、“hex”和“base64”。编码为文本字符串的值用双引号(“)括起来,而
编码为十六进制和base64的字符串前缀为0x和0s
分别地
插上插头
44Gt44GT
进入任何base64解码器或运行
echo 44Gt44GT | base64 --decode
你会看到正确的字符串被打印出来。直接从
getfattr
您需要使用指定格式
-e text
$ getfattr -n user.dog -e text test.txt
# file: test.txt
user.dog="ãã"