cwchen icon

Convert from zh-TW to zh-CN

cwchen | PRO | 12/24/18 07:14:11 AM UTC | 0 ⭐ | 7693 👁️ | Never ⏰ | []
Perl |

2.18 KB

|

None

|

0 👍

/

0 👎

use utf8;
use open qw(:utf8);
use Encode qw(encode_utf8 decode_utf8);
use JSON;
 
BEGIN {
    binmode(STDIN, ":utf8");
    binmode(STDOUT, ":utf8");
    binmode(STDERR, ":utf8");
 
    # Load the 6-character term table.
    open $FH_6, "<", "ITDict_6_ts.json";
    binmode($FH_6, ":utf8");
    $IT_term_6_ts_ref = decode_json encode_utf8(<$FH_6>);
    %IT_term_6_ts = %$IT_term_6_ts_ref;
    $check_6 = join "|", keys %IT_term_6_ts;
    close $FH_6;
 
    # Load the 5-character term table.
    open $FH_5, "<", "ITDict_5_ts.json";
    binmode($FH_5, ":utf8");
    $IT_term_5_ts_ref = decode_json encode_utf8(<$FH_5>);
    %IT_term_5_ts = %$IT_term_5_ts_ref;
    $check_5 = join "|", keys %IT_term_5_ts;
    close $FH_5;
 
    # Load the 4-character term table.
    open $FH_4, "<", "ITDict_4_ts.json";
    binmode($FH_4, ":utf8");
    $IT_term_4_ts_ref = decode_json encode_utf8(<$FH_4>);
    %IT_term_4_ts = %$IT_term_4_ts_ref;
    $check_4 = join "|", keys %IT_term_4_ts;
    close $FH_4;
 
    # Load the 3-character term table.
    open $FH_3, "<", "ITDict_3_ts.json";
    binmode($FH_3, ":utf8");
    $IT_term_3_ts_ref = decode_json encode_utf8(<$FH_3>);
    %IT_term_3_ts = %$IT_term_3_ts_ref;
    $check_3 = join "|", keys %IT_term_3_ts;
    close $FH_3;
 
    # Load the 2-character term table.
    open $FH_2, "<", "ITDict_2_ts.json";
    binmode($FH_2, ":utf8");
    $IT_term_2_ts_ref = decode_json encode_utf8(<$FH_2>);
    %IT_term_2_ts = %$IT_term_2_ts_ref;
    $check_2 = join "|", keys %IT_term_2_ts;
    close $FH_2;
 
    # Load the character table.
    open $FH, "<", "tongwei_ts.json";
    binmode($FH, ":utf8");
    $tongwei_ts_ref = decode_json encode_utf8(join "", <$FH>);
    %tongwei_ts = %$tongwei_ts_ref;
    $check = join "|", keys %tongwei_ts;
    close $FH;
}
 
# Decode the input string.
$_ = decode_utf8 $_;
 
# Perform term-to-term conversion.
s/($check_6)/$IT_term_6_ts{$1}/g;
s/($check_5)/$IT_term_5_ts{$1}/g;
s/($check_4)/$IT_term_4_ts{$1}/g;
s/($check_3)/$IT_term_3_ts{$1}/g;
s/($check_2)/$IT_term_2_ts{$1}/g;
 
# Perform character-to-character conversion.
s/($check)/$tongwei_ts{$1}/g;
 
# Encode the output string.
$_ = encode_utf8 $_;

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎