Kirjoittaja Aihe: Tekstin koodaus?  (Luettu 6174 kertaa)

redu

  • Käyttäjä
  • Viestejä: 487
    • Profiili
Tekstin koodaus?
« : 28.06.10 - klo:09.48 »
Ihan pihalla:

Yritin selvitellä Ubuntu Lucid tekstin koodausta käyttäen ghex hex-editoria.
Referenssinä on myös WinXP:n tuotoksia.
Aikamoinen sotku! Sanotaan, että Ubuntun default-koodaus olisi utf8, mutta ei siltä näytä.
Tallennusmediana oli fat32-osio, johon voi kirjoittaa sekä Winkulla että Ubuntulla. Sotkeeko tallennusmedia koodaukset?
Minkähän nimisen kooditabliskan mukaan mikäkin hex-rivi mahtoi tulla?

Testattavan filun sisältö oli tämmönen.
Tallennus pääasiassa .txt-formaatissa (paitsi "doc").
aasi
äöåÄÖÅ

testiGedit.txt
61 61 73 69 0A C3 A4 C3 B6 C3 A5 C3 84 C3 96 C3 85 0A 0A

testiSciTE.txt
61 61 73 69 0A E4 F6 E5 C4 D6 C5 0A

testiOO.txt   (saved as .txt)
EF BB BF 41 61 73 69 0A C3 A4 C3 B6 C3 A5 C3 84 C3 96 C3 85 0A 0A

WinXP ref:

testiNotepad.txt (WinXP)
61 61 73 69 0A E4 F6 E5 C4 D6 C5 0A

testiWordPad.txt
61 61 73 69 0D 0A E4 F6 E5 C4 D6 C5 0D 0A

testiWord.txt
61 61 73 69  0D 0A E4 F6 E5 C4 D6 C5 0D 0A 0D 0A

testiWordDOS.txt   (saved in Dos format)
61 61 73 69  0D 0A 84 94 86 8E 99 8F 0D 0A 0D 0A


Muunnoskokeilua:
uni2ascii:
cat testiXXX.XXX   | uni2ascii -aQ > testiascii.txt
Ei hyväksynyt Ubuntukoodauksia, tai teki puppua!

testGedit.txt tai testOOword.txt>ASCII (mieletön tulos):
aasi
äöåÄÖÅ

testSciTE>ASCII (ei mennyt läpi)
testOOword.doc (win office format save)>ASCII (ei mennyt läpi)
testWinWord.txt (text format save)>ASCII (ei mennyt läpi)
testWinWord.doc (win office format save)>ASCII (ei mennyt läpi)
Ubuntua 98%, Winkua 2%

skfin

  • Vieras
Vs: Tekstin koodaus?
« Vastaus #1 : 28.06.10 - klo:11.23 »
Jos gedit-tekstieditoria käytit niin tallennusikkunan alalaidasta voi vaihtaa merkistökoodausta. Oletuksena on UTF-8 mutta huomaa erona se, että rivinvaihdot tallentuvat ns. Unix-rivinvaihtoina kun Windowsissakin oma tyylinsä, tämä siis saattaa myös sotkea hommaa. Tätä voi vaihtaa tuosta tallennusikkunasta myös. Unix-rivinvaihto kyllä pitäisi toimia myös winkkareissa. Mielenkiintoinen homma kuitenkin.

Ja mitä tuohon ASCII-koodaukseen tulee niin eivät ääkköset tietenkään siinä toimi(ASCII-merkistöön ei kuulu ääkkösiä)

Olisit muuten miettinyt tätä aluetta vähän aikaa niin säästyisi moderaattorien työ.
« Viimeksi muokattu: 28.06.10 - klo:11.28 kirjoittanut skfin »

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Tekstin koodaus?
« Vastaus #2 : 28.06.10 - klo:14.14 »
Tallennusmediana oli fat32-osio, johon voi kirjoittaa sekä Winkulla että Ubuntulla.

Ja mitähän on asetettu mount-komennon optioiksi? Ainakin iocharset-option arvo kannattanee panna kohdalleen.
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

redu

  • Käyttäjä
  • Viestejä: 487
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #3 : 28.06.10 - klo:14.43 »
Tallennusmediana oli fat32-osio, johon voi kirjoittaa sekä Winkulla että Ubuntulla.

Ja mitähän on asetettu mount-komennon optioiksi? Ainakin iocharset-option arvo kannattanee panna kohdalleen.
Siellä ei ole mitään! Tarkoittaako se, että merkistö tallennetaan sellaisena kun editoti tms ne tekee? Sotku senkun pahenee, jos tallennusmediakin vaikuttaa asiaan?

redu
Ubuntua 98%, Winkua 2%

redu

  • Käyttäjä
  • Viestejä: 487
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #4 : 28.06.10 - klo:14.50 »
Jos gedit-tekstieditoria käytit niin tallennusikkunan alalaidasta voi vaihtaa merkistökoodausta. Oletuksena on UTF-8 mutta huomaa erona se, että rivinvaihdot tallentuvat ns. Unix-rivinvaihtoina kun Windowsissakin oma tyylinsä, tämä siis saattaa myös sotkea hommaa. Tätä voi vaihtaa tuosta tallennusikkunasta myös. Unix-rivinvaihto kyllä pitäisi toimia myös winkkareissa. Mielenkiintoinen homma kuitenkin.

Ja mitä tuohon ASCII-koodaukseen tulee niin eivät ääkköset tietenkään siinä toimi(ASCII-merkistöön ei kuulu ääkkösiä)

Olisit muuten miettinyt tätä aluetta vähän aikaa niin säästyisi moderaattorien työ.

Tuota,
alunperin oli tarkoitus selvittää, miten ääkköset koodataan Ubuntussa.
Että voisin yrittää muuttaa ne eräässä sovelluksessa vanhanaikaisiksi = ascii ISO 646. Tässä ääkköset ovat hakasulkujen ja kaarisulkujen tilalla. Mutta vaikeeks meni, kun eri sovellus-tahot koodailevat ääkkösiä miten sattuu?

sekosin vaan lisää,
redu
Ubuntua 98%, Winkua 2%

redu

  • Käyttäjä
  • Viestejä: 487
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #5 : 28.06.10 - klo:19.12 »
Kiitos,
geditistä voi tosiaankin tallentaa utf-8 tai ISO-8859-15

Hyvä uutinen on, että kaikki kolme:
SciTE
gedit (tallentaen ISO-8859-15)
WinXP notepad
kaikki käyttävät samaa koodausta (ISO-8859-15)

ja että
gedit (tallentaen utf-8)
tallentaa tosiaan defaulttina utf-8-koodattuna.


ääkkösten koodaus on tällainen::
ISO-8859-15
ä=   E4
ö=   F6
å=   E5
Ä=   C4
Ö=   D6
Å=   C5

utf-8
ä=   C3A4
ö=   C3B6
å=   C3A5
Ä=   C384
Ö=   C396
Å=   C385

ISO-646
ä=   7B
ö=   7C
å=   7D
Ä=   5B
Ö=   5C
Å=   5D


redu
Ubuntua 98%, Winkua 2%

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #6 : 28.06.10 - klo:23.12 »
Mount optiot ei vaikuta tiedostojen sisältöön, vain tiedostonimien esitykseen/koodaukseen.  ::) Tiedoston sisältöön vaikuttaa tietysti käytettävä ohjelma millä teksti on tuotettu.

Eri merkistöjen välillä voit vaihtaa helposti käyttämällä iconv ohjelmaa. Katso edellistä viestiketjuasi!
« Viimeksi muokattu: 28.06.10 - klo:23.16 kirjoittanut retu »

SuperOscar

  • Käyttäjä
  • Viestejä: 4060
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Tekstin koodaus?
« Vastaus #7 : 28.06.10 - klo:23.41 »
Mount optiot ei vaikuta tiedostojen sisältöön, vain tiedostonimien esitykseen/koodaukseen.  ::)

Näin minäkin periaatteessa ajattelen, jos ja kun tiedostoa kirjoitetaan ”binaarina” kuten Linux tekee yleensä, mutta koska Windows tekee eron teksti- ja binaarimuodon välillä, ajattelin juuri tekstimuokkaimien voivan olla turhankin älykkäitä ja ottaa tämän huomioon tiedostoa kirjoitettaessa.

Sinänsä tosiaan redun (!= retu, gen.) harjoitus eri koodausten etsimiseksi on turha, koska koodaukset saa kyllä selville vaikka Wikipedian taulukoista :)
pöytäkone 1, NUC: openSUSE Leap 15.6, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

retu

  • Käyttäjä
  • Viestejä: 949
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #8 : 29.06.10 - klo:00.41 »
Joo, enpä ajatellut tuota binaari/teksti juttua, vaan ei kait sillä olekaan merkitystä kuin windowsissa, esim. cygwinin kanssa.

En halua mitenkään lannistaa nuhaisen kaimani tutkimusintoa. Halusin vain huomauttaa että iconv osaa muuntaa, jos nyt ei aivan kaikkia, niin ainakin useimmat olemassa olevat merkistöt. Komento
Koodia: [Valitse]
iconv -llistaa tuetut (päätettä voi vierittää takaisinpäin näppäilemällä shift-pgup ;D).

Joskus aiemmin yritin sinnikkäästi tulla toimeen pelkällä iso-8859-1 merkistöllä linuxin ja windowsin välillä. Ajattelin että se olisi pienin yhteinen nimittäjä, joka toimii molemmissa, vaan hankalaa se oli. Siitä kuitenkin puuttuu muutamia toisinaan tarpeellisia merkkejä kuten €. Se olisi kyllä iso-8859-15 merkistössä, mutta sekään ei ole sama kuin windowsin 1252. Pienimmällä harmilla selviää kun käyttää joka paikassa utf-8. Nykyäänhän myös cygwin tukee sitä, joten scriptien windows/linux sekakäyttö on melko helppoa. Editorina toimii joe, jossa on hyvä tuki eri merkistöille ja jonka saa molempiin käyttiksiin.

Wikipedia on tosiaan erinomaisen hyvä tietolähde näissä merkistöasioissa.

redu

  • Käyttäjä
  • Viestejä: 487
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #9 : 29.06.10 - klo:08.41 »
Mount optiot ei vaikuta tiedostojen sisältöön, vain tiedostonimien esitykseen/koodaukseen.  ::) Tiedoston sisältöön vaikuttaa tietysti käytettävä ohjelma millä teksti on tuotettu.

Eri merkistöjen välillä voit vaihtaa helposti käyttämällä iconv ohjelmaa. Katso edellistä viestiketjuasi!

Kiitos,
kyllä nuhaton retu on viisaampi kuin nuhainen!

Tämä ivonv ratkaisi ongelmani. Se muuntaa sekä utf-8 että ISO-8859-15 tekstit vanhalle iso 646-FI koneelle kelpaaviksi. Pelkäsin jo, että joutuisin itse pusaamaan jonkinmoisen skriptin.

Taulukkolistaus iconv -l ei kyllä sano mitään ISO 646-FI:sta?

redu
Ubuntua 98%, Winkua 2%

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Tekstin koodaus?
« Vastaus #10 : 29.06.10 - klo:11.33 »
Taulukkolistaus iconv -l ei kyllä sano mitään ISO 646-FI:sta?
Entäs ISO646-FI?
Koodia: [Valitse]
~$ iconv -l |grep 646-FI
ISO646-FI//
~$
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

redu

  • Käyttäjä
  • Viestejä: 487
    • Profiili
Vs: Tekstin koodaus?
« Vastaus #11 : 29.06.10 - klo:14.08 »
Taulukkolistaus iconv -l ei kyllä sano mitään ISO 646-FI:sta?
Entäs ISO646-FI?
Koodia: [Valitse]
~$ iconv -l |grep 646-FI
ISO646-FI//
~$

Perskilas,
onhan se sittenkin siellä! On muuten pitkä lista!

redu
Ubuntua 98%, Winkua 2%