Powershell 'out-file' set the encoding
out-file $file -encoding utf8
...will create what Notepad++ interprets as utf8 bom
Full set of options...
unknown
string
unicode
bigendianunicode
utf8
utf7
utf32
ascii
default
oem
or...
"Hello" | out-file "hello-world.txt" -encoding Unicode
What sort of files do we get?
I've run this script...
"unknown" | out-file "out-file-unknown.txt" -encoding unknown
"string" | out-file "out-file-string.txt" -encoding string
"unicode" | out-file "out-file-unicode.txt" -encoding unicode
"bigendianunicode" | out-file "out-file-bigendianunicode.txt" -encoding bigendianunicode
"utf8" | out-file "out-file-utf8.txt" -encoding utf8
"utf7" | out-file "out-file-utf7.txt" -encoding utf7
"utf32" | out-file "out-file-utf32.txt" -encoding utf32
"ascii" | out-file "out-file-ascii.txt" -encoding ascii
"default" | out-file "out-file-default.txt" -encoding default
"oem" | out-file "out-file-oem.txt" -encoding oem
And here's what notepad++ thinks of the files (note that there is significant interpretation happening for each of them... most this only tells you if a BOM is present, and if it's big or little endian)
Powershell says | notepad++ interprets... |
---|---|
ascii |
UTF-8 |
bigendianunicode |
UCS-2 BE BOM |
default |
UTF-8 |
oem |
UTF-8 |
string |
UCS-2 LE BOM |
unicode |
UCS-2 LE BOM |
unknown |
UCS-2 LE BOM |
utf32 |
UCS-2 LE BOM (but unreadable with extra nulls between chars) |
utf7 |
UTF-8 |
utf8 |
UTF-8-BOM |