【问题标题】:Is there a difference between "utf8::upgrade" and "is_utf8/decode 'latin1'"?“utf8::upgrade”和“is_utf8/decode 'latin1'”有区别吗?
【发布时间】:2013-04-29 16:46:57
【问题描述】:

这两个代码sn-ps是一样的吗?

utf8::upgrade( $s );

use Encode qw(is_utf8 decode);

$s = is_utf8( $s ) ? $s : decode( 'latin1', $s );

【问题讨论】:

    标签: perl encoding utf-8


    【解决方案1】:

    除了制作副本及其含义之外,它们是同一件事,但只是因为 decode('latin1', $_) 如何处理无效的 latin1 字符串,例如 "\x90"

    表达式返回一些不同的东西(内部使用的字节数与$s),但我假设你正在丢弃它。

    我希望你问,因为你想用前者代替后者!

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      相关资源
      最近更新 更多