perl - 如何在 perl 中转储字符串以查看是否存在任何字符差异?

标签 perl unicode encoding character-encoding dump

我偶尔会遇到字符串略有不同的问题,在某些情况下 utf8::all改变了行为,所以我假设细微的差别是 unicode。我想以这样一种方式转储字符串,使差异对我来说是可见的。执行此操作我有哪些选择?

最佳答案

我推荐the Devel::Peek module in the Perl core中的Dump函数:

$ perl -MDevel::Peek -e 'Dump "abc"'
SV = PV(0x10441500) at 0x10491680
  REFCNT = 1
  FLAGS = (PADTMP,POK,READONLY,pPOK)
  PV = 0x10442224 "abc"\0
  CUR = 3
  LEN = 4

$ perl -MDevel::Peek -e 'Dump "\x{FEFF}abc"'
SV = PV(0x10441050) at 0x10443be0
  REFCNT = 1
  FLAGS = (PADTMP,POK,READONLY,pPOK,UTF8)
  PV = 0x10449bc0 "\357\273\277abc"\0 [UTF8 "\x{feff}abc"]
  CUR = 6
  LEN = 8

(你看到 FLAGS 在第二个例子中是如何包含 UTF8 的,因为宽字符,但在第一个例子中没有?)

关于perl - 如何在 perl 中转储字符串以查看是否存在任何字符差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730054/

相关文章:

encoding - 带问号的钻石

php - 网页内目录浏览

javascript - 如何通过书写系统(SCRIPT)匹配unicode?

php - 在 PHP 中将 Unicode 字符转换为文本不起作用

r - 使用 read_excel() 时将 ... 设置为 na

r - R中的西里尔文编码输出

linux - Linux 中存储的文本文件的字符编码在哪里?

perl - 寻找 Log4perl 替代方案,用于从多个进程进行并发日志记录

perl - 如何取消来自 Mojo::UserAgent 的正在进行的请求?

perl - 如何转储所有 Mojolicious 路线?