Windows 8、Windows 8.1、および Windows 10 は、メッセージの内容でサポートされている最も効率的なエンコードに基づいて、SMS メッセージを送信するときに使用する最適な文字エンコードを選択します。 SMS は、少なくとも 1 つの無効な文字が含まれている場合を除き、7 ビット文字セットでエンコードされます。この場合、メッセージ全体が Unicode でエンコードされます。
テキスト モード インターフェイスを使用して SMS メッセージを送信する JavaScript コードの例
try
{
if (smsDevice != null)
{
// defines a text message
var smsMessage = new Windows.Devices.Sms.SmsTextMessage();
smsMessage.to = id("phoneNumber").value;
smsMessage.body = id("messageText").value + "\n\nSent via Windows 8 SMS API";
var sendSmsMessageOperation = smsDevice.sendMessageAsync(smsMessage);
console.log("Sending message...");
sendSmsMessageOperation.then(function (reply)
{
console.log("Text message sent.");
});
}
else
{
console.log("No SMS device found");
}
} catch (err) {
console.log("SMS exception: " + err);
}
必要に応じて、最適なエンコード機能をオーバーライドし、使用する文字セットを指定できます。
Windows 8、Windows 8.1、および Windows 10 では、GSM (3GPP) および CDMA (3GPP2) ネットワークと互換性のあるモバイル ブロードバンド ネットワーク アダプター用の共通文字セットがサポートされています。
次の表に、テキスト モード API でサポートされる文字エンコードの一覧を示します。
ネットワークの種類 | 文字セット | 1 つの SMS セグメントの文字制限 | マルチパート SMS セグメントの文字制限 |
---|---|---|---|
GSM | GSM 7 ビットの既定のアルファベットと GSM 7 ビットの既定のアルファベット拡張テーブル | 160 | 142 |
CDMA | 7 ビット ASCII | 160 (ネットワークによって異なる場合があります) | |
CDMA | Unicode | 70 (ネットワークによって異なる場合があります) |
GSM 文字セットは、 3GPP TS 23.038 "アルファベットと言語固有の情報" で定義されています。