konto usunięte

Temat: C# zamiana z mozavia na utf8

Witam serdecznie,
Mam plik zapisany w Mazovi i chciałbym go przekonwertować na UTF8... znalazłem taki kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;


namespace ConsoleApplication1
{
class Program
{

static void Main(string[] args)
{

string datatable;
string datatable2;
datatable2 = System.IO.File.ReadAllText("C:\\txt.txt");

Encoding mazoviaEnc = Encoding.GetEncoding(852);

byte[] mazoviaBytes = mazoviaEnc.GetBytes(datatable2);

string utf7str = Encoding.UTF7.GetString(

Encoding.Convert(mazoviaEnc, Encoding.UTF7, mazoviaBytes));

Console.WriteLine("abc: ", datatable2);
}
}
public class MazoviaEncoding : Encoding
{
private MazoviaEncoding() { }
private static MazoviaEncoding _encoding = null; public static Encoding Mazovia { get { if (_encoding == null) { _encoding = new MazoviaEncoding(); } return _encoding; } }
public override byte[] GetBytes(string s) { List<byte> data = new List<byte>(); foreach (char c in s) { data.Add(CharToByte(c)); } return data.ToArray(); }
public override string GetString(byte[] bytes, int index, int count)
{
if (bytes == null) { throw new NullReferenceException(); }
if (index < 0 || index + count > bytes.Length) { throw new IndexOutOfRangeException(); }
StringBuilder sb = new StringBuilder(); for (int i = index; i < index + count; i++) { if (bytes[i] == 0) { break; } sb.Append(ByteToChar(bytes[i])); } return sb.ToString();
}
private byte Cha;

}
}

ale niestety nie chce się to skompilować :( Mógłbym prosić o pomoc z kompilacją tego?

Wyrzuca mi błąd:
Error 1 'ConsoleApplication1.MazoviaEncoding' does not implement inherited abstract member 'System.Text.Encoding.GetMaxCharCount(int)' C:\Application1\Program.cs 32 18 ConsoleApplication1

Co robię nie tak??:(
NorthwestŁukasz Wójcik edytował(a) ten post dnia 16.03.12 o godzinie 23:56

konto usunięte

Temat: C# zamiana z mozavia na utf8

`Piotr Sowa edytował(a) ten post dnia 17.03.12 o godzinie 14:40

konto usunięte

Temat: C# zamiana z mozavia na utf8

80 razy kopiując string? Dziękuję za takie rozwiązanie ;)Maciej O. edytował(a) ten post dnia 17.03.12 o godzinie 09:32

konto usunięte

Temat: C# zamiana z mozavia na utf8

Co robię nie tak??:(
Nie implementujesz wszystkich metod abstrakcyjnych, które dziedziczysz. HINT: w Visual Studio najedź na klasę bazową (u Ciebie Encoding) i kliknij CTRL+. (control z kropką) - pojawi się menu kontekstowe z propozycją wygenerowania pustych implementacji każdej z obowiązkowych metod. Tak samo z interfejsami działa.

konto usunięte

Temat: C# zamiana z mozavia na utf8

kurcze, coś takiego:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Collections;


namespace ConsoleApplication1
{
class Program
{
private string EncodeUnicodeFechedFromCP852ToCP620(string input)
{
string output = input;
output = output.Replace((char)0x00A4, (char)0x2567);
output = output.Replace((char)0x00A7, (char)0x2321);
output = output.Replace((char)0x00A8, (char)0x2219);
output = output.Replace((char)0x00AD, (char)0x2261);
output = output.Replace((char)0x00B4, (char)0x2229);
output = output.Replace((char)0x00B8, (char)0x2248);
output = output.Replace((char)0x00C1, (char)0x2561);
output = output.Replace((char)0x00C2, (char)0x2562);
output = output.Replace((char)0x0118, (char)0x00BF);
output = output.Replace((char)0x00C9, (char)0x0118);
output = output.Replace((char)0x00CB, (char)0x2559);
output = output.Replace((char)0x00CD, (char)0x2553);
output = output.Replace((char)0x00CE, (char)0x256B);
output = output.Replace((char)0x00D3, (char)0x03B1);
output = output.Replace((char)0x00D4, (char)0x0393);
output = output.Replace((char)0x015A, (char)0x00F9);
output = output.Replace((char)0x015B, (char)0x015A);
output = output.Replace((char)0x00D7, (char)0x015B);
output = output.Replace((char)0x00DA, (char)0x0398);
output = output.Replace((char)0x00DD, (char)0x03C6);
output = output.Replace((char)0x0143, (char)0x03C0);
output = output.Replace((char)0x0105, (char)0x0143);
output = output.Replace((char)0x0107, (char)0x0105);
output = output.Replace((char)0x0179, (char)0x0107);
output = output.Replace((char)0x00E1, (char)0x0179);
output = output.Replace((char)0x017B, (char)0x255C);
output = output.Replace((char)0x00ED, (char)0x017B);
output = output.Replace((char)0x00FA, (char)0x00D3);
output = output.Replace((char)0x00FD, (char)0x221E);
output = output.Replace((char)0x0102, (char)0x255E);
output = output.Replace((char)0x0103, (char)0x255F);
output = output.Replace((char)0x0144, (char)0x03A3);
output = output.Replace((char)0x0104, (char)0x0144);
output = output.Replace((char)0x0106, (char)0x0104);
output = output.Replace((char)0x010C, (char)0x00BC);
output = output.Replace((char)0x010D, (char)0x0192);
output = output.Replace((char)0x010E, (char)0x2565);
output = output.Replace((char)0x010F, (char)0x2558);
output = output.Replace((char)0x0110, (char)0x2564);
output = output.Replace((char)0x0111, (char)0x2568);
output = output.Replace((char)0x0119, (char)0x2310);
output = output.Replace((char)0x011A, (char)0x2556);
output = output.Replace((char)0x011B, (char)0x256A);
output = output.Replace((char)0x0139, (char)0x0119);
output = output.Replace((char)0x0142, (char)0x00EA);
output = output.Replace((char)0x013A, (char)0x0142);
output = output.Replace((char)0x013D, (char)0x0106);
output = output.Replace((char)0x013E, (char)0x00FB);
output = output.Replace((char)0x0141, (char)0x00A5);
output = output.Replace((char)0x0147, (char)0x2552);
output = output.Replace((char)0x0148, (char)0x03C3);
output = output.Replace((char)0x0150, (char)0x00E8);
output = output.Replace((char)0x0151, (char)0x00EF);
output = output.Replace((char)0x0154, (char)0x03A6);
output = output.Replace((char)0x0155, (char)0x03A9);
output = output.Replace((char)0x0158, (char)0x207F);
output = output.Replace((char)0x0159, (char)0x00B2);
output = output.Replace((char)0x015E, (char)0x2555);
output = output.Replace((char)0x015F, (char)0x00A1);
output = output.Replace((char)0x0160, (char)0x00B5);
output = output.Replace((char)0x0161, (char)0x03C4);
output = output.Replace((char)0x0162, (char)0x258C);
output = output.Replace((char)0x0163, (char)0x03B5);
output = output.Replace((char)0x0164, (char)0x00A2);
output = output.Replace((char)0x0165, (char)0x0141);
output = output.Replace((char)0x016E, (char)0x2590);
output = output.Replace((char)0x016F, (char)0x00E0);
output = output.Replace((char)0x0170, (char)0x03B4);
output = output.Replace((char)0x0171, (char)0x221A);
output = output.Replace((char)0x017A, (char)0x00BD);
output = output.Replace((char)0x017C, (char)0x255B);
output = output.Replace((char)0x017D, (char)0x017A);
output = output.Replace((char)0x017E, (char)0x017C);
output = output.Replace((char)0x02C7, (char)0x2264);
output = output.Replace((char)0x02D8, (char)0x2320);
output = output.Replace((char)0x02D9, (char)0x00B7);
output = output.Replace((char)0x02DB, (char)0x2265);
output = output.Replace((char)0x02DD, (char)0x00B1);
return output;
}
static void Main(string[] args)
{

string datatable;
string datatable2;
datatable = System.IO.File.ReadAllText("C:\\Users\\Lukasz\\Desktop\\c#\\ConsoleApplication1\\bin\\Debug\\txt2.txt");

datatable = EncodeUnicodeFechedFromCP852ToCP620(datatable);

Console.WriteLine("abc: ", datatable);
}
}


}



coś takiego?
to mi generuje błąd:

Error 1 An object reference is required for the non-static field, method, or property 'ConsoleApplication1.Program.EncodeUnicodeFechedFromCP852ToCP620(string)' C:\Users\Desktop\c#\ConsoleApplication1\Program.cs 103 25 ConsoleApplication1

:(

konto usunięte

Temat: C# zamiana z mozavia na utf8

Maciej O.:
80 razy kopiując string? Dziękuję za takie rozwiązanie ;)
grunt żeby działało ;-) mam 1 pliczek do przekonwertowania :(

konto usunięte

Temat: C# zamiana z mozavia na utf8

http://www.udanewakacje.net/maz.txt - mam taki plik do konwersji... :/
Łukasz L.

Łukasz L. Programista C# .NET

Temat: C# zamiana z mozavia na utf8

Łukasz Wójcik:

coś takiego?
to mi generuje błąd:

Error 1 An object reference is required for the non-static field, method, or property 'ConsoleApplication1.Program.EncodeUnicodeFechedFromCP852ToCP620(string)' C:\Users\Desktop\c#\ConsoleApplication1\Program.cs 103 25 ConsoleApplication1

:(

Z metody statycznej (Main) nie możesz odwoływać się do pól, właściwości, metod które nie są statyczne (logiczne).
Metoda "EncodeUnicodeFechedFromCP852ToCP620" nie jest statyczna. Proponuję czytać treść błędów zwracanych przez Visual Studio podczas kompilacji.

Następna dyskusja:

C# + PHP + Polskie znaki w ...




Wyślij zaproszenie do