首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP中的'可靠'SMS Unicode和GSM编码

在PHP中,发送短信通常需要使用第三方服务。为了确保短信内容在不同的设备和网络上正确显示,我们需要选择正确的编码格式。这里的'可靠'SMS Unicode和GSM编码是指短信内容的字符集和编码方式。

1. GSM编码

GSM编码(也称为7位编码或基本多语言平面)是一种用于移动设备的字符集,包括大多数西欧语言的字符。GSM编码仅支持256个字符,包括大小写字母、数字、标点符号和一些特殊字符。

优势

  • 支持大多数西欧语言的字符
  • 短信长度较长(最多160个字符)
  • 兼容性较好

应用场景

  • 适用于发送简单、仅包含基本字符的短信
  • 适用于发送给主要使用西欧语言的用户

推荐的腾讯云相关产品和产品介绍链接地址

2. Unicode编码

Unicode编码(也称为UTF-16编码)是一种全球通用的字符集,支持几乎所有国家和地区的语言。使用Unicode编码可以表示更多的字符,包括各种语言的文字、表情符号等。

优势

  • 支持全球各种语言的字符
  • 短信长度较短(最多70个字符)
  • 更广泛的兼容性

应用场景

  • 适用于发送包含多种语言字符的短信
  • 适用于发送给全球各地用户

推荐的腾讯云相关产品和产品介绍链接地址

在选择短信编码时,需要根据实际需求和目标用户来决定。使用GSM编码可以节省短信长度,但可能无法支持某些特殊字符。而使用Unicode编码可以支持更多字符,但短信长度较短。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JSON 序列化转义 Unicode 编码

本文比较完整地整理一下 JSON 编码转义,以及 JSON 对 Unicode 编码处理。 其实这是我上一篇文章姊妹篇。...JSON 针对 Unicode 字符处理 这里所说 Unicode 字符,准确而言指的是在 ASCII 范围之外字符,也就是值大于 0x7F Unicode 字符。...每个 Unicode 字符表示法,XXXX 必须是4个十六进制数,即便高位为0也需要补全。通过这种方式,编码传输 Unicode 字符。...在 ASCII 为主数据传输,这种编码方式比较稳妥,并且不会额外增加过多数据量。当然对于 Unicode 字符比较多情况下(比如大量中文),这就需要程序员考虑一下额外带来网络花销了。...原文标题:JSON 序列化转义 Unicode 编码 发布日期:2020-05-09 原文链接:https://cloud.tencent.com/developer/article/1625557

10.6K51
  • php进制编码

    进制编码关系 进制是数字上关系 我们日常使用是10进制,因为我们有10个手指,这是习惯发展使然。 计算机基础是2进制,因为电路只有通电、不通电两种状态,用0、1表示。...见这张我自己画小图吧~ php进制转换 在php 内置了挺多进制转换函数 bindec() — 二进制转换为十进制 decbin() — 十进制转换为二进制 dechex() — 十进制转换为十六进制...decoct() — 十进制转换为八进制 hexdec() — 十六进制转换为十进制 octdec() — 八进制转换为十进制 base_convert()– 在任意进制之间转换数字 php2进制输出...常见文件编码格式现在有:GBK、UTF-8 在机器传输过程只能2进制,不管是GBK编码还是UTF-8编码,都可能是这样子数据01010001111010101001111,至于怎么解析,就看机器通信之间规定了...从关系图中可以得知:UTF-8是Unicdoe实现,Unicode又兼容了assic码定义。

    1.7K20

    PythonGBK, UTF-8Unicode编码问题

    基本编码知识 在了解Python字符串(String)本质前,我们需要知道ASCII、GBK、UTF-8Unicode关系究竟几何。...由于Unicode编码字符串体积很大,因此一般来说Unicode编码只是文字在内存内在形式,具体存储(如文件、网页等)都需要靠外在编码(UTF-8、GBK等)诠释。...Python2.x字符串本质 Python实际上有两种字符串,分别是str类型unicode类型,这两者都是basestring派生类。...字符串编码转换:encode()decode() Python最常用编码转换函数是encode()decode(),他们本质是:unicodestr互相转换。...原文地址:PythonGBK, UTF-8Unicode编码问题, 感谢原作者分享。

    4K10

    浅谈unicode编码utf-8编码关系

    举个栗子,字母A用ASCII编码十进制为65,二进制为0100 0001;汉字“”已经超出了ASCII编码范围,用unicode编码是20013,二进制是01001110 00101101;A用unicode...unicode编码虽然占用内存空间,但是在编程过程或者在内存处理时候会比utf-8编码更为简单,因为它始终保持一样长度,一样长度对于内存代码来说,它处理就会变得更加简单。...所以utf-8编码在做网络传输和文件保存时候,将unicode编码转换成utf-8编码,才能更好发挥其作用;当从文件读取数据到内存时候,将utf-8编码转换为unicode编码,亦为良策。...如上图所示,当需要在内存读取文件时候,此时将utf-8编码内存转换为unicode编码,在内存中进行统一处理;当需要保存文件时候,出于空间传输效率考虑,此时将unicode编码转换为utf-...在Python中进行读取保存文件时候,必须要显示指定文件编码,其余事情就交给Python相关库去处理就可以了。

    1.7K20

    浅谈unicode编码utf-8编码关系

    举个栗子,字母A用ASCII编码十进制为65,二进制为0100 0001;汉字“”已经超出了ASCII编码范围,用unicode编码是20013,二进制是01001110 00101101;A用unicode...unicode编码虽然占用内存空间,但是在编程过程或者在内存处理时候会比utf-8编码更为简单,因为它始终保持一样长度,一样长度对于内存代码来说,它处理就会变得更加简单。...所以utf-8编码在做网络传输和文件保存时候,将unicode编码转换成utf-8编码,才能更好发挥其作用;当从文件读取数据到内存时候,将utf-8编码转换为unicode编码,亦为良策。...如上图所示,当需要在内存读取文件时候,此时将utf-8编码内存转换为unicode编码,在内存中进行统一处理;当需要保存文件时候,出于空间传输效率考虑,此时将unicode编码转换为utf-...在Python中进行读取保存文件时候,必须要显示指定文件编码,其余事情就交给Python相关库去处理就可以了。

    1.3K20

    python文本文件编码格式:ASCIIUNICODE

    文本文件存储内容是基于字符编码文件,常见编码有ASCII、UNICODE等 Python2.x默认使用ASCII编码 Python3.x默认使用UTF-8编码 一、ASCII编码UNICODE编码...计算机只有256个ASCII字符 一个ASCII在内存占用一个字节空间 8个0/1排列组合方式一共有256种,也就是2**8 ASCCI编码只有256个字符,虽然可以涵盖26个英文,但是汉子有数以万计字符...,ASCII编码并不能满足我们,因此UNICODE编码诞生。...1.2》UNICODE编码 UTF-8编码格式: UTF-8是UNICODE编码一种编码格式 计算机中使用1~6个字节表示一个UTF-8字符,涵盖了地球上几乎所有地区文字 大多数汉子会使用3个字节表示...,在定义字符串时,需要在字符串引导前增加一个小写字母u,告诉解释器这事一个unicode字符串(是使用UTF-8编码更是的字符串) 代码:这段代码在python2.x汉子会出现很多符号 str =

    2.1K20

    java基础类型charbyte辨析及Unicode编码UTF-8区别

    char char是Java保留字,与别的语言不同是,char在Java是16位,因为Java用Unicode。不过8位ASCII码包含在Unicode,是从0~127。...UnicodeUTF-8对比 Unicode 需要注意是,Unicode只是一个符号集,它只规定了符号二进制代码,却没有规定这个二进制代码应该如何存储。...表示其他更大符号,可能需要3个字节或者4个字节,甚至更多。 这里就有两个严重问题,第一个问题是,如何才能区别UnicodeASCII?...因为java是以unicode作为编码方式unicode是一个定长编码标准,每个字符都是2个字节,也就是1个char类型空间。...; char c = ''; // java使用unicode编码,一个字符占两个字节 System.out.println("char字符 二进制

    82620

    Hacking Team移动智能设备入侵途径—WAP PUSH

    其中:-s选项si即服务指示(Service Indication),将新信息指示相关通用资源标识符(URI)推送给用户,由用户选择是立即处理信息还是以后处理。...TextPDU模式,Text模式收发短信代码简单实现容易,但其缺点是不支持unicode编码短信;而PDU模式收发短信可以使用3种编码:7-bit、8-bitUCS2编码。...7-bit编码用于发送普通ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。...该命令行工具也采用PDU模式,SMS PDU编码SMS / MMS / WAP PUSH等服务基础,由十三项信息组成。以下为一条“Hello!”...因为SMS这种消息长度极度受限传输方式,所以采用了WBXML(WAP Binary XML)封装,即以一个byte代替常用XML TAGAttibute字串来节约传输数据量。

    2.7K70

    html解析遇到&#开头unicode编码字符串处理转换 - Python

    用lxml库处理网页时遇到,写个转换程序用用。...注:ASCII转unicode中文转unicode是两个东西(起码在unicode在线转换网站上这两个不同),虽然说是中文,其实输入英文字母也没问题(表述可能不够准确,但大概是那么个意思)。...原理 常见unicode编码格式如下: \u670d\u52a1\u5668 如果换成&#开头格式如下: 服务器 其实这两个是同一个东西,只是开头进制不同...编码字符串 # 输入中文,输出str类型&#开头unicode编码数据 def zh2uni(zhDat): rDat = "" for n in zhDat: rDat...编码字符串转中文 def uni2zh(uniDat): rDat = '' while True: if len(uniDat) == 0: break

    10.3K10

    CString 在_UNICODE宏定义下普通ASCII编码不同

    例如,声明赋值一个CString可以这样: char* charStr = "Kenko"; CString cstr =  charStr; 因为在ASCII编码下,CString会把后边这个指针内存位置...,作为输入流,逐个字符读入到CString。...但在_UNICODE宏定义下,默认都变为宽字节。那么CString存储方式将以宽字节形式。...但例如截取网页之类,输入字节流还是ASCII,所以会出现问题。 我在编程过程,就以ASCII编码字节流赋值,导致在后续查找字符串时候总是找不到。...ASCII编码字节流, 28 但系统默认是接受宽字节,所以把网页GB2312 ASCII编码字节流每两字节读取 29 例如网页本来有1000个字符,按上边代码得到CString

    83730

    由__future__unicode_literals引起错误来研究python编码问题

    在py2.7项目中用了future模块 unicode_literals 来为兼容py3.x做准备,今天遇到一个UnicodeEncodeError错误,跟了下,发现这个小坑值得注意。...总结 这里主要涉及到python编码问题,也是很多人在刚接触Python时感到头疼问题。更多基础东西,可以到下面的参考链接里看,这里就分析下我这几段代码。...所谓"编码"就是用来编码嘛,于是python就通过ASCII来把unicode转为string,遂,抛错了。...这段代码里提供了两种方法,一个是在字符串前加 b 来声明一个bytes(而不是unicode);第二个是对生成unicode对象通过utf-8进行编码为bytearray,然后转为string。...这个问题可以查看参考4参考6。 上面都是the5fire自己根据资料总结出来结论,如果有问题欢迎指出。 PS: 同样问题对于python built-ingetattr方法也适用。

    1.2K10

    Python 3json.dumps,会将中文转换为unicode编码后保存

    参考链接: Python-json 7:Unicode非ASCII字符编码为JSON 先把这次踩坑结论放在最前面  1. Python 3已经将unicode作为默认编码  2....Python 3json在做dumps操作时,会将中文转换成unicode编码,并以16进制方式存储,再做逆向操作时,会将unicode编码转换回中文  这就解释了,为什么json.dumps操作后...---  如果不知道上面两点,加之python之前对编码处理不好名声,就会陷入一个问题深坑。 ...经过了各种尝试,我发现网上对python3编码问题进行了如下归纳  \uXXXX是unicode 16进制编码表现形式在文件第一行加上# -*- coding: utf-8 -*-对字符串对象进行...因此,在保存python 3脚本时,请务必保存为utf-8。  关于第三条,那也是python2故事,在python3,字符串默认采用unicode编码

    1.4K00

    C#开发终端式短信原理方法

    本文介绍了短信原理实现方法,重点说明了短信编码方式、AT指令以及用C#实现串口通讯方法。...SMS是由Etsi所制定一个规范(GSM 03.40 GSM 03.38)。...当使用7-bits编码时,它可以发送最多160个字符;但用8-bit编码,最多可以发送140个字符,通常无法直接通过手机显示;还有用16-bit编码时,最多70个字符,被用来显示Unicode(UCS2...与SMS有关GSM AT指令(from GSM07.05)如表1所示: AT 指令 功 能 AT+CMGC Send an SMS command(发出一条短消息命令) AT+CMGD Delete...SMS text mode parameters(设置短消息文本模式参数) AT+CSMS Select Message Service(选择短消息服务) 表一:相关GSM AT指令   我现在以实例来说明这些指令使用方法

    2.7K90

    PHP=>->::用法

    PHP=>->以及::符号用法 ->用法 插入式解引用操作符 用于类里,访问类里函数或对象,就是在类里面定义了一个函数,使用->可以调用这个类里面的函数 <?...,即作用域限定操作符,可以访问静态,const,类重写属性方法 用变量在类定义外部访问 class fruit{ const CONST_VALUE = 'fruit color'; } $classname...> 面向对象selfparent区别 <?...demo(); 相同点:selfparent都是调用父类属性或者方法 不同点:如果两个属性一样,假如都叫$name ,那么self::调用是自己类,parent::则是调用父类 php...extends 在php,extends关键字用于定义类继承,语法为 class 子类 extends 父类{} 通过该关键字可以实现单继承,一个类只能从另一个类中继承数据,但一个类可以有多个子类

    22810

    短信发送器

    (使用Unicode系统)。这些不包括额外系统资讯。 还有我手机怎么是最多 150 个英文字母?这是 7.5 位元编码方式吗? yskin: 7位元字符就是指标准ASCII去掉最高位0。...以这种方式进行编码,在美国这样国家,发送短信字符都是ASCII码表里,所以没必要浪费一个字位。...而UCS-2把所有Unicode字符编码为2字节,所以即使英文字母也会编码成2个字节。...:lines="5" 多行 模拟器超时原因 电脑配置低,修改超时时间,模拟器socket挂了,重启一下 短信api SmsManager如果过时,导包问题gsm 2G时代,如果一个类无法new对象,...), text, sentIntent, deliveryIntent)后两个参数,延迟报告送达报告,不关心填null 需要这个权限 android.permission.SEND_SMS 短信都要最大长度限制

    4.4K20
    领券