Converts a file to utf8 encoding.
<#
.SYNOPSIS
Converts a file to utf8 encoding.
.INPUT
Files that are encoded some other way.
.EXAMPLE
Find-Utf16 | ConvertTo-Utf8
#>
filter ConvertTo-Utf8 {
$lines = [System.IO.File]::ReadAllLines($_)
[System.IO.File]::WriteAllLines($_, $lines)
}
<#
.SYNOPSIS
Find files that are utf16 encoded.
.PARAMETER Path
A list of paths or masks for files to check.
.EXAMPLE
Find-Utf16
#>
function Find-Utf16($Path = @('*.yaml', '*.cs', '*.xml')) {
foreach ($file in (Get-ChildItem -Recurse -Path $Path)) {
$bytes = [System.IO.File]::ReadAllBytes($file.FullName)
if ($bytes[0] -eq 255 -and $bytes[1] -eq 254) {
$file
}
}
}