av Odd » tor 05 okt, 2017 19:49
Jag använde ordet "dialekt" slarvigt men det är inte så enkelt som att påstå att det bara är att implementera det.
Men, UTF8 är egentligen inget annat än ett "superset" av ASCII, eller rättare sagt, 7-bitars ASCII, plus lite skräp till. Så, man måste veta vilken teckenuppsättning som avses. Det finns inget i filformatet som talar om om en fil är en ASCII-fil eller en UTF8-fil utan man brukar använda sig av nån form av detektering där man går igenom hela filen och gör någon form av rimlighetsbedömning, tex att om det förekommer knasiga tecken mitt i normala ord. ASCII-tecknen skiljer sig inte från motsvarande tecken i UTF8 för de första sju bitarna och icke-ASCII-tecken kodas sedan med ett prefix framför varje tecken som talar om vilken kodtabell som skall användas för efterföljande tecken, vilket i sin tur till stora delar bygger på många av de olika utökade ASCII-tabeller som finns, däribland de vanliga västerländska ISO-8859-1 till -10, men därtill säkert ett hundratal till. Så, om man kallar det för dialekt eller ej, så är det ändå så att det är ett problem.
Till det så Om man kör 16-bitars eller 32-bitars kod så måste man dessutom veta hur det är kodat, därav BOM-prefixet i filerna ( exempelvis 0xFFFE för Little Endian ). Det hade så klart varit fantastiskt om man hade kunnat enas om att man redan från början skulle koda UTF8-filer med ett prefix likt UTF16 och UTF32, då hade man sluppit en massa problem (och fått några få nya). Men nu är det inte så.
Med andra ord, så länge som du håller dig borta från konstiga bokstäver med prickar, ringar, fnuttar och streck ovanför så kommer det gå finfint, då man håller sig till 7-bitarstecken, men så fort man stegar upp på den 8:e biten, då kan det börja bli krångligt. Och tro mig, det finns många som inte har koll på det, inte ens folk på SL.
Jag brukar alltid värdera information efter vilka intressen den som avsänder budskapet företräder.