首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >口译iso-8859-1

口译iso-8859-1
EN

Stack Overflow用户
提问于 2013-04-04 10:01:38
回答 1查看 253关注 0票数 0

早上好,我遇到了一个我不明白的问题,让我解释一下:

我正在做一个基于微控制器Arduino和Android应用程序的项目。arduino从pop3命令中恢复邮件并将它们发送到Android应用程序。这两家公司仅通过短信进行通信。

问题是:我通过短信广播在Android上接收消息,然后恢复一个字符串( string )。

以下是邮件恢复对象的示例:

Re:舞台技巧=?iso-8859-1?Q?vari?=?iso-8859-1?b?6wvz?=非通信。

这将产生以下结果:

再:舞台技巧

需要注意的是,只有一些文本是用ISO编码的,似乎是以两种不同的方式编码的。

我的问题是:我如何解析文本?问题是,使用短信传输我没有选择类型的回报。下面是我用来读取文本消息的代码:

代码语言:javascript
复制
Bundle bundle = intent.getExtras();
    if (bundle != null) {
        Object[] pdus = (Object[])bundle.get("pdus");
        SmsMessage[] message = new SmsMessage[pdus.length];
        String messageBody = null;
        String phoneNumber = null;
        for (int i=0; i< message.length;i++) {

            message[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
        }
        messageBody = message[0].getMessageBody();
        phoneNumber = message[0].getDisplayOriginatingAddress();
        if (message.length > -1) {
            if (phoneNumber.equals(arduino)) {
                Toast.makeText(context, "New Data",Toast.LENGTH_SHORT ).show();
                //this.abortBroadcast();
                Log.d("BroadcastSMS", "***************phoneNumber:"+phoneNumber+" messageBody:"+messageBody);
                //TODO : ici, que faire du message "messageBody" pour l'interpréter.
            }
        }
    }

我发现自己已经收到了一条信息,就像一个字符串。我的本能是尝试将自己编码为一个"shell“,但我不明白在这个示例中是如何编码"ed”的。澄清我的问题是:

  • 在ISO标签中,'Q‘和'B’有什么区别?
  • 在我的例子中,第二个标签应该是ISO代码"ed“(注意空格,如果单词是粘合的)。但我并不是在一种情况下通信的十六进制代码0-F的文本是: 6WVz

但我可能走错了路,如果你有这些问题的答案或其他方法,你能帮我吗?

无论如何,先谢谢你。

JM

EN

回答 1

Stack Overflow用户

发布于 2013-04-04 10:29:21

它是RFC 2047编码的-字。Q指定引用的-可打印编码,而B用于base64。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15808139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档