Avatar billede teleskop Nybegynder
25. april 2007 - 12:06 Der er 10 kommentarer og
1 løsning

Ascii specialtegn til txtfil

Hello,
Jeg skal skrive til en txt fil i ascii. Men hver gang jeg skriver "æøå" bliver det til "?".
Her er min kode:
Dim unicodeString As String = "a b c og æ ø å # % der"
Dim ascii As New ASCIIEncoding()
Dim encodedBytes As Byte() = ascii.GetBytes(unicodeString)
Dim fs As FileStream = New FileStream(FileName, FileMode.OpenOrCreate)
fs.Write(encodedBytes, 0, encodedBytes.Length)
fs.Flush()
fs.Close()

Håber nogen kan hjælpe :)
Avatar billede dr_chaos Nybegynder
25. april 2007 - 12:26 #1
prøv evt med
Dim unicodeString As String = Server.HtmlEncode("a b c og æ ø å # % der")
Avatar billede arne_v Ekspert
25. april 2007 - 12:46 #2
Dim encodedBytes As Byte() = Encoding.UTF8.GetBytes(unicodeString)

eller

Dim encodedBytes As Byte() = Encoding.Default.GetBytes(unicodeString)
Avatar billede teleskop Nybegynder
25. april 2007 - 13:21 #3
Der er desværre ingen af måderne som virker.
Den konvertere det til nogle finurlige tegn.
Nogen som evt har et eksempel eller noget?
Avatar billede arne_v Ekspert
26. april 2007 - 04:25 #4
Dim unicodeString As String = "a b c og æ ø å # % der"
        Dim encodedBytes As Byte() = Encoding.Default.GetBytes(unicodeString)
        Dim fs As FileStream = New FileStream("C:\test.txt", FileMode.OpenOrCreate)
        fs.Write(encodedBytes, 0, encodedBytes.Length)
        fs.Close()

virker fint hos mig
Avatar billede teleskop Nybegynder
26. april 2007 - 08:56 #5
I hvilket program tjekker du at det er ascii?
Mig bekendt er man nødt til at åbne txt filen i eksempelvis cmd.exe, da det kun læser ascii. Notepad og lignende programmer har alle encoding typer, og vil altid vise æøå og andre specialtegn korrekt.
Avatar billede arne_v Ekspert
26. april 2007 - 22:56 #6
jeg har ikke checket at det er ASCII

det er spild af tid

de danske bogstaver eksisterer ikke i ASCII
Avatar billede arne_v Ekspert
27. april 2007 - 04:05 #7
hvis du vil have danske bogstaver er du noedt til at vælge et tegnsæt og en encoding
som har danske bogstaver

CP-1252/ISO-8859-1 og UTF-8 er de to mest oplagte

Encoding.Default er CP-1252/ISO-8859-1 og den virker
Avatar billede teleskop Nybegynder
01. maj 2007 - 13:17 #8
jeg er helt enig med dig arne_v mht CP-1252/ISO-8859-1 og UTF-8, men mit problem er at jeg skriver til en txt fil, som C5 skal læse. Og problemet er at C5 KUN læser ascii. Når C5 eksporter en txt fil kan cmd.exe (som kun fatter ascii) altså godt forstå at der står æøå??
Derfor mener jeg at man også må kunne skrive til en txt fil som C5 kan fatte.
Avatar billede arne_v Ekspert
01. maj 2007 - 15:19 #9
CMD koerer ikke ASCII - den koerer CP-437 eller CP-850

og da 437 ikke har danske tegn, saa er det sikkert 850

altsaa proev:

Encoding.GetEncoding(850).GetBytes(unicodeString)
Avatar billede teleskop Nybegynder
01. maj 2007 - 15:51 #10
arne_v for fanden ...det virker jo :)
Det er jo alt for fedt, så simpelt og så meget tid jeg har brugt på det :(
Du skal ha point og en bajer hvis du lyster :)
Avatar billede arne_v Ekspert
01. maj 2007 - 16:03 #11
vi noejes med point - oel over HTTP virker ikke saa godt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester