Sida 2 av 2

Postat: 9 december 2008, 15:00:08
av Zäta
Lägg till com1.encoding = UTF8Encoding i form_load

Postat: 9 december 2008, 15:22:26
av Tottish
Zäta:
Den accepterar inte den kodraden. UTF8Encoding not declared, står det.

Den här funkar, dock:
.Encoding = System.Text.Encoding.UTF8
Men den sänder ett helt gäng med bitar (20-30 st) och jag vill bara ha de gamla hderliga 0-255 i 8-bitars format.
Provar vidare.

/Tottish

Postat: 9 december 2008, 15:31:03
av sodjan
Jag skulle skippa "String" helt för att slippa UTF-djungeln.
Se om du inte kan gå via "Byte" eller liknande...

Eller byt till VB6... :-) :-)

Postat: 9 december 2008, 15:41:35
av Tottish
sodjan. Ja, man är ju bra sugen!
Nu verkar det vara ordnat i alla fall.

Provade lite varianter och den här raden visade sig ge det resultat jag eftersökte.
.Encoding = System.Text.Encoding.Default
Provade alla kodningsalternativ som kom upp som alternativ och kände mig slutligen tvungen att prova Default. Trodde ju i min enfald att det var det värde som var "by Default", alltså det som jag redan suttit och frustat med, men så var det alltså inte. :?

Tack för hjälpen, allihop.
Sorry att jag schabblade med länken sodjan, fattar inte hur jag lyckades missa det.

Ha det bra!
/MVH
/Tottish

Postat: 9 december 2008, 15:54:43
av sodjan
Notera även att "Default" finns med här :

http://msdn.microsoft.com/en-us/library ... mbers.aspx
http://msdn.microsoft.com/en-us/library ... fault.aspx

"Default: Gets an encoding for the operating system's current ANSI code page."

Är det samma värden som de som du såg på skärmen ?

Ett problem måste väl vara om man ändrar "operating system's current ANSI code page".
Det borde ju finans ett läge som är oberoende av vad Windows jobbar med (för tillfället)...

Postat: 9 december 2008, 16:11:02
av Tottish
"Det borde ju finans ett läge som är oberoende av vad Windows jobbar med (för tillfället)..."
Ja, det skulle ju kännas tryggt. Är det troligt att man använder olika "ANSI code page" på olika maskiner?

"Är det samma värden som de som du såg på skärmen ? "
Av "properties" å var det bara de med den röda S-ikonen till vänster som kom upp i listan. Sen var det några "methods" också ca 5st.

MVH
/Tottish

Postat: 9 december 2008, 16:21:13
av sodjan
> de med den röda S-ikonen till vänster

Verkar ha något med "static" att göra...
Märkligt att man inte (enkelt) kan få en förklaring till symbolerna !

Postat: 9 december 2008, 18:23:03
av Tottish
Ja, det tyckte jag också men vågade inte riktigt säga något eftersom jag var säker på att någon skulle skriva, typ: Det står ju längst upp på sidan!
:D

Postat: 9 december 2008, 19:44:35
av klaskent
Testa com1.Encoding = Encoding.GetEncoding("iso-8859-1")

Edit: Missade visst att problemet redan var löst.. Det kanske dock är trevligare att hårdkoda en encoding som funkar, snarare än att förlita sig på det aktuella systemets default.
Se även http://blogs.msdn.com/bclteam/archive/2 ... 08377.aspx där de använder Encoding.GetEncoding(28591) för att peta ut 8-bitar via serieporten

Och ja, det röda S:et markerar mycket riktigt statiska members (static i c#, shared i vb.net)

Postat: 10 december 2008, 08:20:15
av Tottish
klaskent: (Välkommen till Forumet, skön nick!)
Detta är det närmsta som debuggern accepterar:
.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1")
Detta ger dok en ganska funkig output mellan 127-255. Vissa siffror blev rätt och andra blev helgalna.
Samma sak med 28591, tyvärr.

Någon som vet hur jag kan kolla upp vad mitt OS (XP) kör för "ANSI Code Page"? Det verkar ju funka som jag vill med den i alla fall så om man visste vad den standarden hette så kunde man väl stoppa in den efter GetEncoding kanske?

EDIT: Nu! Hittade att Western European Standard Code Page hette Windows-1252 med ID-nummer 1252
Provade således raden:
.Encoding = System.Text.Encoding.GetEncoding(1252)
Och det gick alldeles utmärkt! Men visst var det väl konstigt att det skulle vara så mycket bök att få till det här?...

MVH
/Tottish

Postat: 10 december 2008, 16:50:58
av Zäta
Kan du inte göra så här för att få dina bytes?

Encoding.UTF8.GetBytes("test")

Postat: 12 december 2008, 10:57:56
av Tottish
Zäta:
Jo det är möjligt men nu verkar problemet redan vara löst. Ser du någon fördel med den metoden du beskriver jämfört med det som jag googlade fram?
Kan testa det nästa gång jag är inne och ändrar programmet och har oscilloskopet igång. Just nu är jag väldigt trött på VB.NET programering.
I *heart* assembler!! =)

MVH
/Tottish

Postat: 12 december 2008, 11:04:09
av Zäta
Nja, nån fördel vet jag väl inte riktigt...förutom att det var enklare och mera intuitivt!