C++를 사용하여 빌드 된 유니 코드를 사용하여 빌드되지 않은 서비스에서 실행되는 스크립트가 있습니다. 이 프로그램은 아래 스크립트를 실행하고 이상하게도 wmic qfe 목록 줄을 실행하는 스크립트의 출력이 유니 코드로 출력되는 것 같습니다. 샘플 출력은 다음과 같습니다. 여기 스크립트에서 아스키 코드와 유니 코드 코드를 섞어서 출력합니다 - 명령을 모두 ascii로 출력하는 방법은 무엇입니까?
스크립트입니다 :This text is output as standard - no spacing between characters
C a p t i o n C S N a m e D e s c r i p t i o n F i x C o m m e n t s H o t F i x I D I n s t a l l D a t e I n s t a l l e d B y I n s t a l l e d O n N a m e S e r v i c e P a c k I n E f f e c t S t a t u s
h t t p :// s u p p o r t . m i c r o s o f t . c o m/? k b i d = 4 0 1 2 2 1 2 M F M - 7 4 2 - 0 - 7 1 S e c u r i t y U p d a t e K B 4 0 1 2 2 1 2 N T A U T H O R I T Y \ S Y S T E M 5/1 8/2 0 1 7
This text is also output as standard - no spacing
사실
@echo off
echo This text is output as standard - no spacing between characters >>C:\log.txt
REM this one is output with 1 space between characters
wmic qfe list >>C:\log.txt
echo This text is also output as standard - no spacing >>C:\log.txt
샘플 출력, 난 그냥 16 진수 편집기와 문자 사이의 문자가 null 문자입니다를 사용하여 파일을 볼. 아마도 wmic qfe list는 유니 코드를 출력하고있을 것입니다.
그래서 어떻게 모든 출력을 유니 코드로 ascii 또는 모든 출력으로 가져올 수 있습니까? ascii로 출력되는 모든 것이 선호 될 것입니다.
어떻게 작동합니까? 그것은 find가 유니 코드와 ascii를 읽을 수 있지만 ascii 만 출력 할 수 있기 때문입니까? –
@AngusComber, 지금 당장은 디버거가 없어서 100 % 확신 할 수 없으므로 이것은 추측에 불과합니다. 더 많은 * 필터 * 응용 프로그램에서이 접근법을 테스트 한 결과 동작이 일관 적이기 때문에 유니 코드를 다루는 사람이 사용한 명령이 아니라 출력 스트림의 유형에 따라 출력을 조정하는 것은'wmic'입니다. –