Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBScript Zeichensatz konvertieren

Frage Entwicklung VB for Applications

Mitglied: Sensenmann

Sensenmann (Level 1) - Jetzt verbinden

07.08.2010 um 10:35 Uhr, 11344 Aufrufe, 5 Kommentare

Guten Morgen,

Ich würde mir gerne den Zeichensatz mehrerer Dateien mittels VBScript konvertieren. Nur habe ich leider bisher nur die Methode gefunden, direkt mit OpenTextFile zu Unicode zu konvertieren, was ich aber brauche ist von ANSI zu UCS-2 Little Endian. Gibt es so eine Funktion überhaupt in VBScript? Ich habe nun schon ewig gesucht und nix gefunden.

MFG
Sensenmann
Mitglied: LotPings
07.08.2010 um 18:09 Uhr
Hallo Sensenmann,

muss es denn VBscript sein?

Es gibt einen einen Win32 Port von GNU-Recode damit ist es auf der Kommandozeile kein Problem:
>chcp 1252 
Aktive Codepage: 1252. 
 
>echo AaÄäEeIiOoÖöUuÜüß>Ansi.txt 
 
>dumphex ansi.txt 
DumpHex Version 1.0.1 
Copyright (c) 2003 Robert Bachmann 
 
00000000h: 41 61 C4 E4 45 65 49 69 4F 6F D6 F6 55 75 DC FC AaÄäEeIiOoÖöUuÜü 
00000010h: DF 0D 0A                                        ß.. 
 
>recode cp1252..ucs-2 <ansi.txt >ucs2_BE.txt 
 
>dumphex ucs2_BE.txt 
DumpHex Version 1.0.1 
Copyright (c) 2003 Robert Bachmann 
 
00000000h: FE FF 00 41 00 61 00 C4 00 E4 00 45 00 65 00 49 þÿ.A.a.Ä.ä.E.e.I 
00000010h: 00 69 00 4F 00 6F 00 D6 00 F6 00 55 00 75 00 DC .i.O.o.Ö.ö.U.u.Ü 
00000020h: 00 FC 00 DF 00 0A                               .ü.ß.. 
 
>recode cp1252..ucs-2/21 <ansi.txt >ucs2_LE.txt 
 
>dumphex ucs2_LE.txt 
DumpHex Version 1.0.1 
Copyright (c) 2003 Robert Bachmann 
 
00000000h: FF FE 41 00 61 00 C4 00 E4 00 45 00 65 00 49 00 ÿþA.a.Ä.ä.E.e.I. 
00000010h: 69 00 4F 00 6F 00 D6 00 F6 00 55 00 75 00 DC 00 i.O.o.Ö.ö.U.u.Ü. 
00000020h: FC 00 DF 00 0A 00                               ü.ß... 
 
>
Gruß
LotPings
Bitte warten ..
Mitglied: 76109
07.08.2010 um 21:26 Uhr
Hallo LotPings!

Hab zum testen mal einen VBA-Code geschrieben, funktioniert auch soweit . Allerdings ist mir nicht ganz klar wo in Deinem Beispiel der CR (0Dh) abgeblieben ist?
Soll der entfernt werden oder wurde der nur vergessen?

Gruß Dieter

PS. In VB-Script funktioniert es nicht. Das Problem hierbei ist, dass kein Byte-Array definiert werden kann. Das habe ich durch Trickserei ja noch hinbekommen, aber ich schaffe es nicht Werte in das Byte-Array zu schreiben, funktioniert nicht mal mit CByte(..)
Bitte warten ..
Mitglied: 76109
08.08.2010 um 11:55 Uhr
Hallo Sensenmann, Hallo LotPings!

Habe jetzt was anderes versucht und mit der Konvertierung von Ansi nach UTF16 erhalte ich dieses Ergebnis, wobei hier der CR (0Dh) mit drinnen ist:
Ansi.txt
00000000h: 41 61 C4 E4 45 65 49 69 4F 6F D6 F6 55 75 DC FC AaÄäEeIiOoÖöUuÜü
00000010h: DF 0D 0A ß..
UTF16.txt
00000000h: FF FE 41 00 61 00 C4 00 E4 00 45 00 65 00 49 00 ÿþA.a.Ä.ä.E.e.I.
00000010h: 69 00 4F 00 6F 00 D6 00 F6 00 55 00 75 00 DC 00 i.O.o.Ö.ö.U.u.Ü.
00000020h: FC 00 DF 00 0D 00 0A 00 ü.ß.....

VB-Script:
01.
Const AnsiPath = "E:\Test\Ansi.txt" 
02.
Const Utf16Path = "E:\Test\Utf16.txt" 
03.
 
04.
Const adTypeBinary = 1 
05.
Const adTypeText = 2 
06.
Const adSaveCreateOverWrite = 2 
07.
  
08.
Dim BinaryStream, Text 
09.
     
10.
Set BinaryStream = CreateObject("ADODB.Stream") 
11.
         
12.
With BinaryStream 
13.
    .Type = adTypeText 
14.
    .Charset = "x-Ansi" 
15.
    .Open 
16.
    .LoadFromFile AnsiPath 
17.
     Text = .ReadText 
18.
    .Close 
19.
End With 
20.
         
21.
With BinaryStream 
22.
    .Type = adTypeText 
23.
    .Charset = "UTF-16" 
24.
    .Open 
25.
    .WriteText Text 
26.
    .SaveToFile Utf16Path, adSaveCreateOverWrite 
27.
    .Close 
28.
End With
Gruß Dieter
Bitte warten ..
Mitglied: Sensenmann
09.08.2010 um 16:08 Uhr
Hallo LotPings und didi1954,

vielen Dank für eure Antworten! Die VBScript-Lösung funktioniert einwandfrei!

Gruß
Sensenmann
Bitte warten ..
Mitglied: 76109
09.08.2010 um 16:45 Uhr
Hallo Sensenmann!

Zitat von Sensenmann:
vielen Dank für eure Antworten! Die VBScript-Lösung funktioniert einwandfrei!
Gern geschehen. Freut mich wenn's funktioniert

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel csv-Import Zeichensatz-Problem (2)

Frage von thaefliger zum Thema Microsoft Office ...

PHP
PHP UTF8 zu CP 850 konvertieren (2)

Frage von wescraven07 zum Thema PHP ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (13)

Frage von ZeroCool23 zum Thema Windows 10 ...