source

Powershell: 콘텐츠 가져오기 파이프라인에 대한 인코딩 설정

ittop 2023. 8. 25. 23:57
반응형

Powershell: 콘텐츠 가져오기 파이프라인에 대한 인코딩 설정

UCS-2 Little Endian으로 저장된 파일이 있습니다. 인코딩을 변경하여 다음 코드를 실행했습니다.

cat tmp.log -encoding UTF8 > new.log

결과 파일은 여전히 UCS-2 리틀 엔디안에 있습니다.파이프라인이 항상 그런 형식이기 때문입니까?이것을 UTF8로 새 파일에 쉽게 연결할 수 있는 방법이 있습니까?

여기에 제시된 바와 같이:

Get-Content tmp.log | Out-File -Encoding UTF8 new.log

저는 다음과 같이 할 것입니다.

get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8

-encoding 옵션은 파일을 읽거나 쓸 encoding을 선택하는 것으로 알고 있습니다.

인코딩을 사용하여 xml 파일에서 컨텐츠를 로드합니다.

(Get-Content - UTF8 $fileName 인코딩)

XML 파일을 읽는 경우 XML 파일의 인코딩을 조정하는 더 나은 방법은 다음과 같습니다.

$xml = New-Object -Typename XML
$xml.load('foo.xml')

PowerShell의 get-content/set-content 인코딩 플래그가 일부 인코딩 유형을 처리하지 않습니다.IO를 사용해야 할 수도 있습니다.파일(예: Windows-1252를 사용하여 파일을 로드하는 경우):

$myString = [IO.File]::ReadAllText($filePath, [Text.Encoding]::GetEncoding(1252))

Text.인코딩::GetEncoding Text.인코딩::인코딩 가져오기

언급URL : https://stackoverflow.com/questions/76482/powershell-setting-encoding-for-get-content-pipeline

반응형