Potencia Shell:Configuración de codificación para la canalización Get-Content

StackOverflow https://stackoverflow.com/questions/76482

  •  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?

¿Fue útil?

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
scroll top