Suchi Napisano 10 Styczeń 2011 Zgłoś Share Napisano 10 Styczeń 2011 Wiram! Mam pewien problem... Używam pewnego programu do przesyłania informacji w formie tekstowej przes sieć. Zasada tego programu jest następująca: Tworzę plik *.txt, wpisuję do niego pewne informacje, a następnie, za pomocą programu, wysyłam go przez sieć do innego komputera, gdzie informacja ta ponownie zostaje zapisana w formie pliku tekstowego. Program przesyła każny znak osobno używając kodowania ASCII. Problem jest w tym, że gdy do tego pliku zapiszę tą "informacje", czyli jakiś tekst, używając polskich znaków, tekst zostanie przesłany bez zniekształceń, tzn bez jakichkolwiek zamienników (odpowiedników) w kodzie ASCII. W momęcie gdy 'podpatrze' zawartość pakietów w Wireshark'u widać wyraźnie ze każdy ze znaków został zakodowany standardem ASCII z tym że dla pojedynczego znaku (nie będącym polskim znakiem) wykożystywany jest jeden pakiet w którym to jeden znak jest zapisany na jednym bajcie. W momęcie gdy podglądam polskie znaki, okazuje się za na ich przesłanie potrzeba dwuch pakieków w których także wykożystany jest jeden bajt. Pytanie brzmi: W jaki sposób tekst (a właściwie pojedyncze polskie znaki) zakodowane w standardzie ISO 8859-2 (środkowoeuropejski) mogą zostać przekonwertowane na ASCII, przesłane przez sieć i spowrotem konwertowane na ISO 8859-2 bez błędów ?? Trochę nad tym myślałem i nic konkretnego mi nie przychodzi do głowy Odnośnik do komentarza Udostępnij na stronach More sharing options...
Ralliart Napisano 10 Styczeń 2011 Zgłoś Share Napisano 10 Styczeń 2011 Metoda przesyłania jest zła - lepiej wysłać taki tekst binarnie. Jakiś czas temu też się niemiłosiernie męczyłem przy przesyłaniu danych między bazami danych poprzez FTP, a rozwiązanie było banalne: wystarczyło przesłać wszystko binarnie i od razu wszystko było ok. Co prawda mój problem dotyczył znaczników końca linii (CRLF), ale może i w Twoim wypadku to pomoże. Odnośnik do komentarza Udostępnij na stronach More sharing options...
Recommended Posts