当前位置: 首页 > 知识库问答 >
问题:

检查SMS消息是否使用标准GSM字母表

林子石
2023-03-14

我正在使用一个API发送短信,我需要计算在一个消息中的短信数量。

如果消息仅使用GSM字母表字符,则长度最多可达160个字符,但如果消息包含此字母表之外的任何字符,则将其编码为Unicode(UCS-2),然后在一个SMS中最多只能有70个字符。当发送串联(即多部分)消息时,每个部分的长度分别最多只能达到153或67个字符。

共有1个答案

程皓轩
2023-03-14

你可以用一个非常糟糕的正则表达式来完成它。下面是一个扩展方法。

public static bool IsUnicodeSms(this string message)
{
    var strMap = new Regex(@"^[@£$¥èéùìòÇØøÅå_ÆæßÉ!""#%&'()*+,-./0123456789:;<=>? ¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà^{}\[~]|€]+$");
    return !strMap.IsMatch(message);
}

享受

 类似资料:
  • 所以我一辈子也想不出来。我正在尝试编写一个程序,提示用户输入电话号码。这将作为字符串输入,并在稍后的程序中转换为整数数组。然而,我现在遇到的情况是验证用户输入的字符串是否仅限于!!!包含2-9之间的数字。我已经尝试了。Contains方法和。Match方法,但是使用这些方法总是提供错误的结果。如果有人能提供一些关于如何解决这个问题,我将非常感谢。提前感谢。 以下是我目前掌握的信息:

  • 通过Firebase云消息发送消息时,来自FCM服务器的代表会告知请求的处理情况,但不会告知请求是否已发送到设备。 那么,对于离线设备,我们如何知道消息是否已传递? 例如 上面的JSON是FCM服务器对请求的响应,时间为0,优先级为“高”,但情况是我想要接收消息的设备处于脱机状态。 是否有任何可能的方法来检测设备是否脱机?

  • JavaSelenium程序登录到Gmail帐户在搜索框检查文本这是工作正常。如何检查消息是成功还是失败如果我写一个单独的类IM得到会话ID空异常。 错误:

  • 问题内容: 这个想法是读取String并确认它不包含任何数字字符。因此,“ smith23”之类的内容将不被接受。 问题答案: 你想要什么?速度还是简单?为了提高速度,请选择基于循环的方法。为简单起见,请使用一种基于内衬RegEx的方法。 速度 简单

  • 问题内容: 我想创建一个函数来检查字符串的首字母是否大写。到目前为止,这是我想出的: 当我尝试运行它时,出现此错误: 有人可以看看并告知我在做什么错吗? 问题答案: 为什么不使用;

  • 如果是-than字符串应该被移除。 我想知道为什么不是每个带有“L”的字符串都被去掉? 结果是: