0

我有一个从应用程序(使用 Internet Explorer 的 Spotfire webplayer)导出的 TSV 文件。在 Notepad++ 或记事本中查看该文件时,一切看起来都不错(PFA 快照)。

但是如果我将文件输入到基于 Perl 的 CSV 解析器(实际上是 TSV)或者只是使用 find/findstr MS-DOS 命令,每个字符实际上都带有一个空格。

我试图排除几行(基于特定日期),但由于这个问题,我无法做到这一点。

在此处输入图像描述

4

1 回答 1

4

您的文件是 Unicode 编码的。(Notepad++ 在状态栏中将其显示为“UCS-2 Little Endian”。)您需要告诉 Perl 编码是什么,并在读取文件时解码数据。

use Encode qw(decode);
# read from file into $octets...
my $chars = decode('UCS-2LE', $octets, Encode::FB_CROAK);
于 2014-08-27T15:47:40.687 回答