Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
sollniss
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 699

Zeichensatzkonvertierung
Verfasst am: 15.07.2008, 16:49

Also, ich hol mir mit der MethodeVisual Basic: [code] Dim req As HttpWebRequest = CType(WebRequest.Create(URL), HttpWebRequest)
Dim res As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
Dim str As New StreamReader(res.GetResponseStream)[/code]einen Quelltext.

Da ich mir Quelltexte von verschiedenen Seiten hole, liegen diese manchmal in verschiedenen Zeichensätzten (UTF-8, ASCII, etc.) vor. Nun möchte ich erstmal den Zeichensatz rausfinden, und danach in einen bestimmten Zeichensatz konvertieren. Leider hab ich davon überhaubt keine Ahnung. ^^

Kann mir jemand erklären wie ich System.Text.Encoding.Convert benutze, und wie ich den Zeichensatz eines Quelltext rausfinde?

Mein Ansatz:Visual Basic: [code] Private Function GetSourcecode(ByVal URL As String) As String
Application.DoEvents()
Dim req As HttpWebRequest = CType(WebRequest.Create(URL), HttpWebRequest)
Dim res As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
Dim str As New StreamReader(res.GetResponseStream, System.Text.Encoding.Default)

str = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, str)

Return str.ReadToEnd
End Function[/code]
Der Wert vom Typ "System.IO.StreamReader" kann nicht in "1-dimensionales Array von Byte" konvertiert werden.


----------------------------------------------------------------

Habs jetzt so, allerdings bekomm ich da das selbe Ergebnis, als wenn ichs ganz weglasse, dh. es wird nix konvertiert.

Visual Basic: [code]Imports System.Text
Private Function GetSourcecode(ByVal URL As String) As String
Application.DoEvents()
Dim req As HttpWebRequest = CType(WebRequest.Create(URL), _
HttpWebRequest)
Dim res As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
Dim str As New StreamReader(res.GetResponseStream, Encoding.Default)

Dim enDefault As Encoding = Encoding.Default
Dim enUTF8 As Encoding = Encoding.UTF8

Dim defBytes As Byte() = enDefault.GetBytes(str.ReadToEnd)
Dim utfBytes As Byte() = Encoding.Convert(enDefault, enUTF8, defBytes)

Dim utfChars(enUTF8.GetCharCount(utfBytes, 0, utfBytes.Length)) As Char
enUTF8.GetChars(utfBytes, 0, utfBytes.Length, utfChars, 0)
Dim utfString As New String(utfChars)


Return utfString
End Function[/code]
 
Marduk
Überflieger
Überflieger

Anmeldedatum: 16.04.2008
Beiträge: 374


Verfasst am: 16.07.2008, 18:49



Zeichenkodierung steht im -Tag drin.

Habs jetzt so, allerdings bekomm ich da das selbe Ergebnis, als wenn ichs ganz weglasse, dh. es wird nix konvertiert.


Das Ergebnis soll doch auch gleich sein. A in Unicode ist doch auch ein A in ASCII
Beide A´s haben halt unterschiedliche Codes
41(Uni-UTF-Cool <-> 65(ASCII)

Ich versteh aber grad nicht für was du den Source in eine Kodierung umwandeln willst. Die sind eigentlich nur für den Browser gedacht, dass er die erkennt und je nach dem die entsprechenden Sonderzeichen setzten kann.

 
sollniss
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 699


Verfasst am: 16.07.2008, 18:52

In den Labels werden die Umlaute mit verschiedenen Charsets falsch dargestellt, ich wollte alle in UTF-8 umwandeln, da diese Kodierung richtig dargestellt wird.
 
sollniss
Überflieger
Überflieger

Anmeldedatum: 01.05.2008
Beiträge: 699


Verfasst am: 21.07.2008, 11:12


*push*

:/ Weiß denn keiner was?
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: wert vom, vom typ, array, konvertiert, visual

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [Ebook] jetzt lerne ich Visual Basic 6 5069 02.06.2010, 13:55
Keine neuen Beiträge Miceosoft Visual Basic 6.0 Einsteiger Kurs? 1191 17.02.2007, 21:01
Keine neuen Beiträge SUCHE MICROSOFT VISUAL BASIC! 945 12.02.2007, 21:54
Keine neuen Beiträge Microsoft Visual Basic 1276 28.01.2007, 00:59
Keine neuen Beiträge Visual Basic.. Version?? 1232 22.01.2007, 18:23
 


[ Time: 0.1984s ][ Queries: 91 (0.1488s) ][ GZIP on - Debug on ]