У меня есть несколько текстовых файлов, которые содержат либо OK, либо FAIL, записанные в учетную запись хранения. Если я загружаю файлы на диск, содержимое отображается в блокноте, как и ожидалось,
Однако, если я получу содержимое файла в переменную и 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
}
Однако это не работает.
Я сейчас пытаюсь получить его как ByteArray с .DownloadToByteArray
, но моя первая попытка - выбросить ошибки.
Почему появляются лишние символы и пробелы при получении через Powershell, но не при просмотре в блокноте. Правильно ли я считаю, что это простая проблема кодирования?