我有一个限制,即无法以下列任何格式编码我的Powershell脚本文件
的Unicode
Unicode大端
UTF-8
我需要在名字中创建一些非英文字符的文件。 我找到了实现这一目标的方法。
$op = [char]24555,[char]36895,[char]30340,[char]26837,[char]33394,[char]29392,[char]29432,[char]36339,[char]36807,[char]20102,[char]25042,[char]29399
"Write some necessary information to file" | Out-File "$op"
这里的输出是一个名为“快速的棕色狐狸跳过了懒狗”的文件,其中包含“将一些必要的信息写入文件”作为其内容 这种方法存在两个问题
我发现我的脚本看起来很尴尬,因为随着$ op的值变大,脚本看起来很笨拙。有没有更简单的方法来存储ASCII值,然后将它们动态转换为字符。我想避免必须在数组中单独将所有这些数字转换为[char]。
这个名字应该是快速的棕色狐狸跳过了懒狗而中间没有空格。
任何简单的方法来实现这一目标?
答案 0 :(得分:1)
对于第一个,您可以将整个列表转换为[char[]]
:
$op = [char[]]@(24555,36895,30340,26837,33394,29392,29432,36339,36807,20102,25042,29399)
要避免字符之间的空白,请在创建字符串之前更改输出字段分隔符:
$OFS = ''
"$op"
或使用-join
运算符:
$op -join ''