gpt4 book ai didi

sql-server - 英文和中文文本的文件编码

转载 作者:行者123 更新时间:2023-12-04 04:48:26 38 4
gpt4 key购买 nike

我正在构建一个可以包含英文字符和中文/俄文/越南文等的动态 sql 文件。每个文本摘录都在自己的文件中并正确编码。我需要能够读取这些文件中的每一个并输出一个包含所有这些字符的文件。我正在使用 perl 读入和输出文件。

我的问题有两个部分。

  • 什么文件编码支持英文文本和非英文文本?
  • 使用perl,可以将输入文件自动转换成上述编码格式吗?

  • 对于第 2 部分,我相信我需要以正确的格式读取文件以进行转换。我已经搜索并找到了 Encoding::Guess 但不确定这是否有效,也不确定如何使用它。

    我找到了这个 SO Question ,第一个答案解释了很多但不是如何?

    最佳答案

    回答您上一条评论中的问题,以下是从一种编码转换为另一种编码的方法:

    #!/usr/bin/perl
    use strict;
    use warnings;

    sub read_encoded {
    my $file_name = shift;
    my $encoding = shift;

    my $content;
    if ( open my $fh, "<:encoding($encoding)", $file_name ) {
    $content = do {
    local $/;
    <$fh>;
    };
    }
    else {
    die "Could not open $file_name: $!";
    }

    return $content;
    }

    sub write_file {
    my $file_name = shift;
    my $content = shift;

    if ( open my $fh, '>:encoding(UTF-8)', $file_name ) {
    print $fh $content;
    }
    else {
    die "Could not open $file_name: $!";
    }
    }

    my $content1 = read_encoded( 'file1.txt', 'latin-1' );
    my $content2 = read_encoded( 'file2.txt', 'UTF-16BE' );

    write_file( 'output', $content1 . $content2 );

    假设您有两个文件 file1.txtfile2.txt ,分别以 latin-1 和 UTF-16BE 编码,这个小脚本将读取这两个文件并将输出写入名为 output 的 UTF-8 编码文件。 .

    关于sql-server - 英文和中文文本的文件编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17813404/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com