次の文字列置換での int へのキャストが Powershell で失敗する理由がわかりません。
PS D:\> $b = "\x26"
PS D:\> $b -replace '\\x([0-9a-fA-F]{2})', [char][int]'0x$1'
Cannot convert value "0x$1" to type "System.Int32". Error: "Could not find any recognizable digits."
At line:1 char:1
+ $b -replace '\\x([0-9a-fA-F]{2})', [char][int]'0x$1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastFromStringToInteger
置換自体は正常に機能します。
PS D:\> [char][int]($b -replace '\\x([0-9a-fA-F]{2})', '0x$1')
&