콘솔은 UTF8을 사용하도록 설계되었으며 표시되는 글꼴도 보기 흉합니다. Perl 프로그램과 Perl에서 읽을 파일이 UTF8 인코딩을 사용하는 경우 어떻게 해야 합니까? 먼저 다음 절차를 살펴보겠습니다.
#!/usr/bin/perl
인코딩 'utf8', STDIN=>'gb2312', STDOUT=>'gb2312';
사용open(FILE,"c:\test1.txt");
binmode(FILE,":인코딩(utf8)");
@lines=
닫기(파일);
for($i=0; $i
$lines[$i] 인쇄;
인쇄 "n";
}
$str="안녕하세요";
$str;인쇄
이 프로그램은 Perl을 사용하여 test1.txt 텍스트 파일을 읽은 다음 이를 콘솔에 표시합니다. 핵심은:
1. 'utf8', STDIN=>'gb2312', STDOUT=>'gb2312';
인코딩을 사용하세요.'utf8' 인코딩 사용: 스크립트 파일의 인코딩 형식을 utf8로 지정합니다.
STDIN=>'gb2312', STDOUT=>'gb2312': 입력 및 출력은 GB2312 문자 집합을 사용합니다.
이렇게 하면 Perl 스크립트의 한자를 출력할 수 있습니다.
2:binmode(FILE,":인코딩(utf8)");
열린 파일 FILE의 인코딩 형식을 utf8로 지정하면 데이터를 @lines로 올바르게 읽을 수 있습니다.
이를 통해 Perl은 Windows 콘솔에서 UTF8 문자를 처리할 수 있습니다.
세 가지 방법은 다음과 같습니다.
#!/bin/perl -w
엄격하게 사용하세요.
my $str = "abcsfsaf#sdagasdga#sdgaghoiiopjh#dsfjkopa hkl;fjh#dsjfklpafj";
########### 방법 1
내 $pos = -1;
내 $num = 0;
while (($pos = index($str, "#", $pos)) >-1) {
인쇄 "$posn에서 확인";
$pos++;
$num++;
}
print "$num!n을 찾았습니다";
########################################## ## ############
#방법 2
내 $count = 0;
동안( $str =~ /#/g )
{
$개수++;
}
$count,"n" 인쇄;
###################################
# 방법 3
내 $cc = 0;
내 $tmp = 0;
if( $tmp = () = ($str =~ /#/g ) )
{
$cc += $tmp;
}
인쇄 "$ccn";
#/usr/bin/perl
open(IN, 'D:\words.txt') || 죽다 $!;
@words=();
닫기;
열지 않으면 (OUT,'>','D:\wordlist.txt') 죽습니다 $!;
foreach $line(@words){
$line=~s/n//g;
@words=split /s+/,$line;
foreach $word(@words){
$word=~s/W+//;
$freq {$word}++;
$word를 출력하세요."=>"$freq{$word}."n";
}
}
닫아요;
이 프로그램을 사용해 보세요. 파일은 한 줄에 한 단어도 쓰지 않고도 원본 텍스트를 직접 읽을 수 있습니다! 질문이 있으시면 저희에게 연락해주세요!
#!/usr/bin/perl -w
엄격하게 사용하세요.
die "perl $0 "(@ARGV==1);
open (IN,$ARGV[0]) 또는 사망 "$ARGV[0]!n 파일을 열 수 없습니다";
open (OUT,">data2") 또는 사망 "파일 data2n"을 생성할 수 없습니다;
동안(){
쯧쯧;
내 @tmp=split /t/,$_;
for(my $tmpc=1;$tmpcif($tmp[$tmpc-1] eq $tmp[$tmpc]){
인쇄 "$tmp[$tmpc-1]@2t@@@";
$tmpc++;
다음;
}
"t$tmp[$tmpc-1]"을 출력하세요;
}
인쇄 OUT"n";
}
위 내용은 Windows 콘솔에서 Perl을 사용하여 UTF8을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!