对于日语的编码

windows : Shift-JIS

Linux : 2.4内核使用EUC编码,2.6内核中使用UTF8编码

检查文件编码  nkf -g filename

通常处理字符编码都使用iconv这个命令,但是iconv命令只能用来处理文件名,但对于文本内容的编码就无法处理了,

要想对文本内容的字符编码进行转换,就要用到nkf了

-j           : 转换为 JIS 编码(ISO-2022-JP),默认
-e : 转换为 EUC 编码
-s : 转换为 Shift-JIS 编码
-w : 转换为 UTF-8 编码(无BOM)
-Lu : 转换为 unix 换行格式(LF)
-Lw : 转换为 windows 换行格式(CRLF)
-Lm : 转换为 macintosh 换行格式(CR)
-g(--guess) : 自动判断编码并显示
--version : 显示版本
--help : 显示帮助

linux中转换成window     :   nkf -sxLw    nkf -swLw

window转换成linux         :   nkf -wxLu



    对日文字符编码的处理,Windows于Linux使用不同的字符编码,Windows中使用的日文字符编码为Shift-JIS,Linux中2.4内核使用EUC编码,2.6内核中使用UTF8编码,为了解决这个问题,可以使用nkf这个命令。通常处理字符编码都使用iconv这个命令,但是iconv命令只能用来处理文件名,但对于文本内容的编码就无法处理了,要想对文本内容的字符编码进行转换,就要用到nkf了。
    首先下载安装,我使用的是Ubuntu8.10,用apt可以很方便的进行安装。如果使用源码进行安装可自行查找相关资料。

$sudo apt-get nkf

安装好了就可以开始使用了。这里简单介绍一下nkf的使用。nkf命令使用的时候会将指定文本内容按照参数所设定的编码格式打印输出到屏幕上,并不会对原来的文本进行改变,要生成新的编码格式的文本,可以使用管道命令将结果重定向到其他文件中。先介绍几个基本参数:j,s,e,w,这几个参数分别为JIS,Shift-JIS,EUC,UTF编码,如果要使用UTF8就用w8参数,要使用UTF16就用w16参数,注意这几个字母是小写,另外还有四个大写的参数,J,S,E,W与之前对应相同的字符编码格式,大写于小写的区别在于,小写字母表示输出的编码,大写字母表示假定输入的字符编码,这里用了个“假定”这个词,man文档中是这么说的,我猜想这个意思是说,假如有一个Shift-JIS编码的文件需要转换成UTF8格式,如果指定的参数为E,那么就把这个文件的字符编码当作EUC来处理了。 帮助文档中写道可以指定输入文件和输出文件,不过根据我自己的实验好像不能将结果生成为输出文件,只能 打印到屏幕上,所以只能使用管道命令,重定向到其他文件中。例如我现在要将一个内容为Shift-JIS编码的文件转换成UTF8格式,就可以使用如下命令,这也是我们经常用到的,。
$nkf -w myfile.txt >> test
这个命令的意思就是把文件myfile.txt文件文本的内容转换成utf8的编码然后输出到文件test中,这个时候我们再浏览一下文件test文件的内容应该就能够正常显示了。
    nkf还有一个比较有趣的参数,就是可以进行平假名和片假名之间的转换。那就是-h参数,注意,很多命令的帮助档命令的参数也是-h,nkf的帮助命令为--help,-h1参数为片假名到平假名之间的转换,-h2为平假名到片假名之间的转换,-h3为双向转换,前两个参数还好理解,对于第三个双向转换,我没有做过实际验证,不做其他设想了。
    这里介绍简单的nkf命令的使用方法,具体的用法请各位参考一下man文档或者帮助命令吧,记得,nkf的帮助命令是--help,不是-h。





linux nkf 日文编码转换命令[转载]的更多相关文章

  1. linux iconv文件编码转换

    linux系统里提供的文件转化编码的命令iconv,例如: iconv -t utf-8 -f gb2312 -c test.xml > text_UTF8.xml 1 -f 源编码-t 目标编 ...

  2. linux常见的编码转换

    1.如何界定是utf-8编码还是其他如 ANSI 或者gb2312编码 以“浙”这个汉字为例,用16进制编码查看时,显示 D5 E3 为2个字节,则为 ansi或者gb2312编码 "苏&q ...

  3. Linux 环境c++ 编码转换

    #include <iconv.h> //代码转换:从一种编码转为另一种编码 static int CodeConvert(char *from_charset,char *to_char ...

  4. Linux字符编码转换 UTF8转GB3212

    在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码.    一.利用iconv函数族进行编 ...

  5. 用linux的iconv函数 转换编码

    inux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不是 ...

  6. iconv 文件编码转换

    iconv 文件编码转换 http://www.cnblogs.com/xuxm2007/archive/2010/11/09/1872379.html 查看iconv的支持的编码: $ iconv  ...

  7. 用shell批量编码转换

    -------------------------------------文件内容转换:iconv-------------------------------------- 通常,从其他平台拷贝过来 ...

  8. linux下iconv()函数的用法(转载并修改)

    linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟utf-8的概念应该不 ...

  9. linux环境下编码的问题

    查看linux支持的编码格式: locale -a查看文件的编码格式: :set fileencodinglinux下文本编码转换: iconv -f gbk -t utf8 main.cpp > ...

随机推荐

  1. 洛谷2473(SCOI2008)奖励关

    题目:https://www.luogu.org/problemnew/show/P2473 因为可不可选此物与之前选过什么物品有关,所以状态可以记录成前面已经选过什么物品. 因为选不选此物与它带来的 ...

  2. 【小技能整理】mac vim开启语法高亮

    步骤1: cp /usr/share/vim/vimrc ~/.vimrc 先复制一份vim配置模板到个人目录下 注:redhat 改成 cp /etc/vimrc ~/.vimrc 步骤2: vi ...

  3. Application共享数据

    1.Application与Session的区别 Application对象:实现程序级别的数据共享. Session对象:实现会话级别的数据共享. 当需要整个程序级别的共享信息时,可以使用Appli ...

  4. Eclipse实用用快捷键

    1.ctrl+shift+o 添加必须import并删除无用import.代码被改动时容易产生很多无用引用,此时这个快捷键就可以一次把如下的引用删掉了

  5. 【转】Java 字节流与字符流的区别

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...

  6. java正则表达式实战例子,持续更新,记下来后面就不用重新写了。。。

    1.去掉HTML标签: /** * 去掉HTML外面的标签 * @author CY * */ public class TrimHTML { public static void main(Stri ...

  7. Bootstrap-CL:超大屏幕

    ylbtech-Bootstrap-CL:超大屏幕 1.返回顶部 1. Bootstrap 超大屏幕(Jumbotron) 本章将讲解 Bootstrap 支持的另一个特性,超大屏幕(Jumbotro ...

  8. <转>cocos2d-x学习笔记(五)仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)

    转载自ufolr的博客 原文连接:http://blog.csdn.net/ufolr/article/details/7624851 最近项目中需要一个落叶的效果,本来想用粒子特效来实现,但是几经调 ...

  9. uva-11234-表达式

    后缀表达式,使用队列计算,要求计算的结果一样,输出队列的输入串 表达式转二叉树,层次序遍历,先右孩子,然后字符串反转输出 #include <iostream> #include < ...

  10. 剖析tcp与udp及应用场景协议方案选择

    什么是TCP和UDP TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包 括:HTTP.SMTP.SNMP.FTP和Telne ...