Potencia Shell:Configuración de codificación para la canalización Get-Content
-
09-06-2019 - |
Pregunta
Tengo un archivo guardado como UCS-2 Little Endian. Quiero cambiar la codificación, así que ejecuté el siguiente código:
cat tmp.log -encoding UTF8 > new.log
El archivo resultante todavía está en UCS-2 Little Endian.¿Esto se debe a que la canalización siempre está en ese formato?¿Existe una manera sencilla de canalizar esto a un nuevo archivo como UTF8?
Solución
Como se sugiere aquí:
Get-Content tmp.log | Out-File -Encoding UTF8 new.log
Otros consejos
Yo lo haría así:
get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8
Tengo entendido que la opción -encoding selecciona el encdoing en el que se debe leer o escribir el archivo.
cargar contenido desde un archivo xml con codificación.
(Obtener-Contenido -Codificación UTF8 $nombreDeArchivo)
Si está leyendo un archivo XML, aquí tiene una forma aún mejor que se adapta a la codificación de su archivo XML:
$xml = New-Object -Typename XML
$xml.load('foo.xml')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow