我正在尝试将一段 PHP 代码转换为 dart,我遇到了一些我以前从未使用过的东西,其中之一是单管道 |
。我不确定确切的 dart 等价物是什么,如果有的话。
我试图转换的 PHP 代码是:
$cc1 = (chr(ord($c1) / 64) | "\xc0");
到目前为止我已经转换成 Dart 的是:
var cc1 = (String.fromCharCode(c1.codeUnitAt(0) / 64) | "\xc0");
但是,单管道 |
给我一个 Dart 错误 The operator '|'没有为“字符串”类型定义。
,但据我所知,php chr
应该给出一个字符串作为其输出,因此它提出了以下问题如果单管道实际上在 dart 中做的事情与在 PHP 中做的一样?
最佳答案
运算为按位或,等价运算符为|
。然而,PHP 对类型很宽容,而 Dart 是类型安全的。它不会为您将字符串转换为整数。你可以这样做:
var cc1 = c1.codeUnitAt(0) | 0xc0;
cc1
将是一个 int
。例如,如果您希望它是一个具有十六进制表示的 String
,您可以这样做:
var cc1 = (c1.codeUnitAt(0) | 0xc0).toRadixString(16);
关于php - Dart 中的单管等效物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71012189/