linux下如何查看文件编码格式及转换文件编码

linux下如何查看文件编码格式及转换文件编码,第1张

常常在Linux中 *** 作windows下的文件时,会遇到乱码的情形。常见的比如在Visual Studio 中写的C\C++程序需要放到Linux主机上编译,而程序的中文注释则显示为乱码,比较严重的是由于编码原因,linux上的编译器报错。
1、用VIM查看文件编码
在Vim 中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式
2、 改写~/vimrc 文件 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
3、 用ICONV文件编码转换
我们利用iconv工具对文件的编码进行转换。
iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个GBK 编码的文件转换成UTF-8编码
iconv -f GBK -t UTF-8 file1 -o file2
其中的参数的意义表示
-f From 某个编码
-o 输出到文件4、 通过记事本另存为来改变文件编码;既用windows下的记事本打开,选择另存为……,改变编码即可。

1在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
2 enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码, *** 作如下
enconv -L zh_CN -x UTF-8 filename
3 iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2
查看文件编码file命令
file iptxt iptxt: UTF-8 Unicode text, with escape sequences
一、利用iconv命令进行编码转换文件内容编码转换 iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。 用法: iconv [选项] [文件] 有如下选项可用: 输入/输出格式规范: -f, --from-code=名称 原始文本编码 -t, --to-code=名称 输出编码 信息: -l, --list 列举所有已知的字符集 输出控制: -c 从输出中忽略无效的字符 -o, --output=FILE 输出文件 -s, --silent 关闭警告 --verbose 打印进度信息 -, --help 给出该系统求助列表 --usage 给出简要的用法信息 -V, --version 打印程序版本号 例子: iconv -f utf-8 -t gb2312 aaatxt >bbbtxt 这个命令读取aaatxt文件,从utf-8编码转换为gb2312编码,其输出定向到bbbtxt文件。

在linux系统下可以通过使用特定的pdf库来实现文档格式转换,参考如下方法:

import comspirepdf;
public class PDFtoWord {
public static void main(String[] args) {
//加载测试文档
PdfDocument pdf = new PdfDocument("samplepdf");
//保存为Word
pdfsaveToFile("ToWorddocx",FileFormatDOCX);
}
}

注意这里在程序中引入了spirepdfjar。

csv文件本质上还是属于文本文件,在Linux中转换文本文件的编码可以使用iconv命令,iconv命令很简单,记住它的三个参数就可以了,下面是它的三个参数:
-f参数:表示from,就是原本的编码格式
-t参数:表示to,就是后来的新编码
-o参数:表示输出文件,就是转换编码后的新文件的文件名,如果没有这个参数新文件会将原来的文件覆盖掉。
下面是将GB2312编码的文本文件转换成UTF-8编码的例子:
iconv -f gb2312 -t utf8 mygb2312txt -o myutf8txt
这个例子中mygb2412txt就是要转换的文件,myutf8txt就是转换后的新文件。如果是批量转换,可以写一个简单的shell脚本,非常容易就能实现的。

Docs to PDF Converter纯java,不过作者不再维护了

支持格式:DOC, DOCX, PPT, PPTX and ODT

>XDocReport纯java

>jodconverter,支持MS office 2007大部分格式转换到pdf

使用须知:

java运行时14或更高

openoffice v203或者更高,openoffice需要安装在linux上

支持格式:

什么语言实现?
+ ====== 如何在不同编程语言中实现普通时间 → Unix时间戳(Unix timestamp)? ======
+
+ Java long epoch = new javatextSimpleDateFormat("dd/MM/yyyy HH:mm:ss")parse("01/01/1970 01:00:00");
+
+ JavaScript var commonTime = new Date(DateUTC(year, month - 1, day, hour, minute, second))
+
+ MySQL SELECT unix_timestamp(time) 时间格式: YYYY-MM-DD HH:MM:SS 或 YYMMDD 或 YYYYMMDD
+
+ Perl 先 use Time::Local 然后 my $time = timelocal($sec, $min, $hour, $day, $month, $year);
+
+ PHP mktime(hour, minute, second, day, month, year)
+
+ PostgreSQL SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS'));
+
+ Python 先 import time 然后 int(timemktime(timestrptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))
+
+ Ruby Timelocal(year, month, day, hour, minute, second)
+
+ SQL Server SELECT DATEDIFF(s, '1970-01-01 00:00:00', time)
+
+ Unix / Linux date +%s -d"Jan 1, 1970 00:00:01"
+
+ VBScript / ASP DateDiff("s", "01/01/1970 00:00:00", time)

用 fdisk 命令来 *** 作,你先看一下 NTFS 里面的分区在 linux 里的硬盘设备是怎么命名的,我这里假设是 /dev/sdc,那么这样;
fdisk -l //看一下所有硬盘的分区情况(不是必要)
fdisk /dev/sdc
然后把那几个分区对应的东东都删除掉,然后重新添加分区(fdisk命令里按下m键有帮助功能)
建立完新的分区后,按下 w 键写入确定 *** 作,接着就进行格式化:
mkfs -t ext3 /dev/sdcx //x是表示你对应的分区号。
最后重启就行了。(上面中有可能不一定要格式化)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13330741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-16
下一篇 2023-07-16

发表评论

登录后才能评论

评论列表(0条)

保存