Har du någonsin skickat en enkel påminnelse om en bokad tid till dina kunder och upptäckt att din SMS-faktura har fördubblats utan uppenbar anledning? Detta fenomen är direkt kopplat till **SMS-kodning** (encodage sms message), en teknisk aspekt som ofta ignoreras men som kan ha stor inverkan på din kommunikationsbudget.
Vad är kodning av ett SMS-meddelande?
För att få en tydlig definition av SMS-kodning måste man förstå att mobilnätverk inte läser alla tecken på samma sätt. Kodning är den tekniska process som omvandlar bokstäver, siffror och symboler i ditt meddelande till binära data (ettor och nollor) som kan överföras av telekomoperatörer.
Historiskt sett designades mobilnätet för och att överföra mycket lätta meddelanden. Två huvudstandarder styr idag sändningen av SMS:
- GSM-7 : Standardkodningen som använder 7 bitar per tecken. Den gör det möjligt att skriva upp till 160 tecken i ett enda SMS.
- UCS-2 (Unicode) : En rikare kodning som använder 16 bitar per tecken, vilket krävs för icke-latinska alfabet, komplexa specialtecken och emojis. Den begränsar storleken på ett enskilt SMS till endast 70 tecken.
GSM-7 vs UCS-2 : Fällan med specialtecken och emojis
Det är här komplikationerna börjar för småföretagare (frisörsalonger, medicinska kliniker, körskolor). Ett enda tecken utanför GSM-7-tabellen tvingar hela ditt meddelande att byta till Unicode.
SMS-kodning av specialtecken och accenter som "ç", "ê" eller "ë" (som är vanliga i vissa språk) samt att skicka emojis via SMS med UCS-2-kodning minskar omedelbart din teckengräns från 160 till 70 per meddelande. Effekten av emojis på SMS-kodning är därför omedelbar: ditt meddelande delas upp i flera delar (segment), vilket multiplicerar sändningskostnaden hos de flesta traditionella leverantörer.
Här är en jämförelsetabell för att bättre visualisera denna skillnad:
| Kodningsstandard | Teckengräns (1 SMS) | Tillåtna tecken | Påverkan på klassisk fakturering |
|---|---|---|---|
| GSM-7 | 160 tecken | Grundläggande latinska alfabetet, siffror, mellanslag och vissa vanliga accenter (é, à, è, ù) | Standardprissättning (1 kredit) |
| UCS-2 (Unicode) | 70 tecken | Alla alfabet (arabiska, kyrilliska, kinesiska), emojis, komplexa accenter (ç, ê, ï) | Fördubblad eller tredubblad prissättning (flera segment) |
Hur Unicode-kodning påverkar SMS-priset
Effekten av Unicode-kodning på SMS-priset är den största ekonomiska fällan hos klassiska SMS-gateways som Twilio eller Plivo. Dessa plattformar debiterar per "segment". Ett segment motsvarar 160 tecken i GSM-7, men sjunker till 70 tecken så fort ett enda Unicode-tecken upptäcks.
Föreställ dig att du driver en bilverkstad och skickar denna påminnelse:
"Hej! Din bil är klar. Vänligen hämta den före kl. 18.00 på verkstaden. Vi ses snart!"
Detta meddelande innehåller 102 tecken. Om du skickar det som det är använder det standardkodningen GSM-7. Detta kostar dig 1 SMS-segment.
Om du lägger till en enkel bil-emoji i slutet för att göra meddelandet trevligare, växlar meddelandet till UCS-2. Dina tecken överskrider nu Unicodes strikta gräns på 70 tecken. Ditt meddelande delas då upp i 2 segment. Hos en klassisk operatör betalar du dubbelt så mycket för detta meddelande, enbart på grund av en emoji.
Det är för att undvika denna typ av överraskningar som många företag letar efter alternativ. Med MySMSGate ansluter du din egen Android-smartphone för att skicka dina meddelanden. Vi debiterar ett fast och unikt pris på 0,02 $ per skickat SMS, oavsett längd eller kodning. Det finns ingen dold debitering per segment. För att lära dig mer om ekonomiska alternativ, läs vår guide om den billigaste SMS-gatewayen för småföretag.
Utvecklare : Vilken kodning ska man välja för att skicka SMS via API?
Om du integrerar SMS-aviseringar i din egen applikation eller administrationsprogramvara uppstår den tekniska frågan: vilken kodning ska man välja för att skicka SMS via API?
Nästan alla moderna API:er, inklusive MySMSGate, accepterar förfrågningar i JSON-format kodade i UTF-8. SMS-gatewayen måste dock sedan konvertera denna UTF-8-ström till mobilnätet. För att garantera maximal kompatibilitet och undvika trasiga tecken (de berömda frågetecknen eller svarta fyrkanterna) är det viktigt att konfigurera UTF-8-kodning för SMS-gateway på rätt sätt.
Här är ett enkelt exempel i Python för att skicka ett korrekt kodat meddelande via MySMSGate API utan att behöva oroa dig för komplex uppdelning:
import requests
url = "https://mysmsgate.net/api/v1/send"
headers = {
"Authorization": "Bearer VOTRE_CLE_API",
"Content-Type": "application/json"
}
payload = {
"to": "+33612345678",
"message": "Votre rendez-vous est confirmé pour demain à 14h ! ",
"sim_slot": 1
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())Vårt API hanterar konverteringen sömlöst. Dessutom har vårt system en automatisk återbetalningsmekanism vid leveransmisslyckanden, vilket säkerställer att du bara betalar för det som faktiskt fungerar. För en fullständig integrering på din egen server, läs vår handledning för att skicka SMS från en Android-telefon via API.
Hur undviker man dubbelkodning av SMS?
För att undvika dubbelkodning av SMS, se till att din kod inte tillämpar en kodningsfunktion (som urlencode eller utf8_encode) på en teckensträng som redan hanteras av ditt HTTP-bibliotek. Att skicka dubbelkodad data leder till att dina kunder får oläsliga meddelanden som innehåller konstiga symboler.
Le cas particulier du preset encodage sms/mms video
Inom mobiltelekom kan du ibland stöta på termen förinställd kodning för SMS/MMS-video (preset encodage sms/mms video). Till skillnad från textkodning (GSM-7 eller UCS-2) handlar denna förinställning om komprimering och formatering av multimediafiler (videor, animerade bilder) som skickas via MMS.
Mobilnätverk sätter mycket strikta storleksgränser för MMS (ofta under 300 kB eller 600 kB beroende på operatör). Förinställningen för videokodning gör det möjligt att drastiskt minska upplösningen och bithastigheten för en video så att den kan levereras utan att avvisas av operatörens gateway. Om ditt mål bara är att skicka textaviseringar eller operativa påminnelser behöver du inte oroa dig för dessa komplexa inställningar.
Vanliga frågor om SMS-kodning
Här är svaren på de vanligaste frågorna gällande hantering av kodning och specialtecken vid sändning av professionella SMS.
Varför kan en enkel accent fördubbla priset på mitt SMS?
Vissa tecken som "ç" (c-cedilj), "ê" (e med cirkumflex) eller andra ovanliga accenter ingår inte i standardalfabetet GSM-7. Så fort du använder ett av dessa tecken växlar din sändningsprogramvara hela meddelandet till Unicode-läge (UCS-2). Gränsen per SMS sjunker då från 160 till 70 tecken. Om din text överskrider 70 tecken delas den upp i två segment, vilket fördubblar sändningskostnaden hos traditionella operatörer.
Hur kan jag testa kodningen av mina SMS innan jag skickar dem?
Det finns verktyg för att testa SMS-segment online (ofta kallade "SMS Length Calculator"). De låter dig klistra in din text och direkt se om ett osynligt tecken eller en emoji tvingar fram en övergång till Unicode, samt det exakta antalet segment som kommer att debiteras av din leverantör.
Hur hjälper MySMSGate till att undvika extrakostnader kopplade till Unicode?
Till skillnad från klassiska API:er (Twilio, Plivo) som debiterar varje segment individuellt, tillämpar MySMSGate ett fast och unikt pris på 0,02 $ per skickat meddelande, oavsett längd eller användning av specialtecken och emojis. Dina meddelanden skickas direkt via din egen Android-smartphone ansluten till vår plattform, vilket eliminerar orimliga segmenteringsavgifter.
Comments (0)
Be the first to comment!