我有一些包含确定或失败的文本文件已写入存储帐户。如果我将文件下载到磁盘,则内容将在记事本中按预期显示,
但是,如果我将文件内容放入一个变量中,然后Write-Host
,则得到�O K
我正在这样做:
$storageContext = New-AzureStorageContext $storageAccountName $storageAccountKey
$storageContainer = "monitor"
$storageBlobs = Get-AzureStorageBlob -Container $storageContainer -Context $storageContext
foreach($storageBlob in $storageBlobs) {
$blobContents = $storageBlob.ICloudBlob.DownloadText()
$blobName = $storageBlob.Name
Write-Host $blobName
Write-Host $blobContents
Write-Host
}
我认为也许我可以告诉它像这样使用UTF8:
$encoding = [System.text.Encoding]::UTF8
foreach($storageBlob in $storageBlobs) {
$blobContents = $storageBlob.ICloudBlob.DownloadText($encoding)
$blobName = $storageBlob.Name
Write-Host $blobName
Write-Host $blobContents
Write-Host
}
但是,这不起作用。
我现在正尝试使用.DownloadToByteArray
作为ByteArray来获取它,但是我的第一次尝试是抛出错误。
为什么通过Powershell检索但在记事本中查看却没有多余的字符和空格。我认为这是一个简单的编码问题,对吗?