请教如何将utf8字符串转成中文(已解决)
-
- 帖子: 144
- 注册时间: 2010-07-13 17:04
请教如何将utf8字符串转成中文(已解决)
我在 gedit 里添加了一个外部工具,命令如下
#!/bin/sh
xelatex $GEDIT_CURRENT_DOCUMENT_NAME
但当那个 tex 文档以中文命名时,它直接去编译转成 utf8 字符串后的文档,这样文档名不对,就找不到文档了,如果我编译 "文档.tex" 这个文件,错误示例如下:
! Emergency stop.
<*> %E6%96%87%E6%A1%A3.tex
请教我应该如何把这个 utf8 字符串转成正常的中文呢?
#!/bin/sh
xelatex $GEDIT_CURRENT_DOCUMENT_NAME
但当那个 tex 文档以中文命名时,它直接去编译转成 utf8 字符串后的文档,这样文档名不对,就找不到文档了,如果我编译 "文档.tex" 这个文件,错误示例如下:
! Emergency stop.
<*> %E6%96%87%E6%A1%A3.tex
请教我应该如何把这个 utf8 字符串转成正常的中文呢?
上次由 alober 在 2011-11-11 23:39,总共编辑 1 次。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教如何将utf8字符串转成中文
这个不是 UTF-8 串,而是 URI 编码过后的表示。可以使用
来解码。
代码: 全选
ascii2uni -a J
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 144
- 注册时间: 2010-07-13 17:04
Re: 请教如何将utf8字符串转成中文
感谢2楼指点,原问题已解决。
另外问个问题,那串字符不是汉字按 utf8 三字节模板转换出来的吗?
另外问个问题,那串字符不是汉字按 utf8 三字节模板转换出来的吗?
上次由 alober 在 2011-11-11 21:18,总共编辑 1 次。
-
- 帖子: 144
- 注册时间: 2010-07-13 17:04
Re: 请教如何将utf8字符串转成中文
确实不懂,表达不明白。望各位达人明示。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教如何将utf8字符串转成中文
那种样子的字符解码后不一定是 UTF-8 的(更不一定是汉字)。你可以试试百度搜索,然后解析下搜索结果页网址中的 %xx。另外,也不是所有汉字的 UTF-8 编码都是 3 字节.alober 写了:感谢2楼指点,原问题已解决。
另外问个问题,那串字符不是汉字按 utf8 三字节模板转换出来的吗?
-
- 帖子: 144
- 注册时间: 2010-07-13 17:04
Re: 请教如何将utf8字符串转成中文
楼上的意思是 url 的编码都要加上%吧?utf8 编码里没有那个%,是这个意思吗?
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教如何将utf8字符串转成中文
URL 里除去英文字母数字和一些英文标点符号外的字符都是要用 % 编码的,至于被编码的是什么东西它就不管了,所以你可以编码一张图片的数据进去也没问题。alober 写了:楼上的意思是 url 的编码都要加上%吧?utf8 编码里没有那个%,是这个意思吗?
UTF-8 编码就是一种字符编码方式。你在十六进制编辑器中看到的那些十六进制只是编码的表示方式,让人好读,就像这里的 % 形式编码的 URL 是给相关软件读的一样。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
-
- 帖子: 144
- 注册时间: 2010-07-13 17:04
Re: 请教如何将utf8字符串转成中文
我有点糊涂了。我知道 utf8 是一种编码方式,那用这种编码方式编码过的字符串不是 utf8 字符串吗?
我再慢慢理解理解吧。
我再慢慢理解理解吧。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教如何将utf8字符串转成中文
编码过后就是 ASCII 字符串了,不然岂不是没达到它的目的。alober 写了:我有点糊涂了。我知道 utf8 是一种编码方式,那用这种编码方式编码过的字符串不是 utf8 字符串吗?
我再慢慢理解理解吧。