标签: decoding

将 unicode 转换为实际字符 C#

我有一个字符串“我正在使用一些字符串,但 Poacher\u2019s 显示 unicode!” 我正在尝试将 Unicode 转换为 ' 字符。

c# unicode decoding

3
推荐指数
1
解决办法
2万
查看次数

Python 3 Base64 解码弄乱换行符

我试图通过标准 python 库解码 base64 多行文件,但是只有第一行被解码,其余的被无缘无故地转储。

为什么是这样?

编码之前的文件(解码后我试图实现的目标):

数据文件.dat

版本:BenWin+ 版本:3.0.12.1[CR]

[CR][LF]

创建时间:2016 年 9 月 1 日 12:56:27 PM[CR]

[CR][LF]

时间代码:0x907e0、0x10004、0x38000c、0x242001b[CR]

[CR][LF]

...

[CR]和[LF]分别是回车符(\r)和换行符(\n)的字符代码

我使用 base64.b64encode 对文件进行 Base64 编码,并希望稍后对其进行解码。这是我的代码片段。

encodedData = b'VkVSU0lPTjogQmVuV2luKyBWZXJzaW9uOiAzLjAuMTIuMQo=Cg==Q1JFQVRFRDogMDEgU2VwdGVtYmVyIDIwMTYgMTI6NTY6MjcgUE0KCg==VElNRSBDT0RFOiAweDkwN2UwLCAweDEwMDA0LCAweDM4MDAwYywgMHgyNDIwMDFiCg==Cg=='

data = base64.b64decode(encodedData)
print(data)
Run Code Online (Sandbox Code Playgroud)

哪个返回

b'版本:BenWin+ 版本:3.0.12.1\n'

提前致谢。使用Python 3.5

python base64 decoding

3
推荐指数
1
解决办法
8780
查看次数

用英文字母替换python中的语言特定字符

Python 3 中是否有任何方法可以替换英文字母的通用语言特定字符?
例如,我有 function get_city(IP),它返回与给定 IP 连接的城市名称。它连接到外部数据库,所以我不能改变它的编码方式,我只是从数据库中获取价值。
我想做类似的事情:

city = "?eské Bud?jovice"
city = clear_name(city)
print(city) #should return "Ceske Budejovice"
Run Code Online (Sandbox Code Playgroud)

在这里我使用捷克语,但总的来说它应该适用于任何非亚洲语言。

python string encoding decoding character-encoding

3
推荐指数
2
解决办法
4219
查看次数

如何知道字符串是否已经使用特殊字符进行了特殊转义?

我有这个网址:

"http://www.somedomain.com/folder/????? ????????.jpg"
Run Code Online (Sandbox Code Playgroud)

所以我需要转义这些阿拉伯值,否则它将无法创建URL对象。

我是这样做的,

let originalString = "http://www.somedomain.com/folder/????? ????????.jpg"
let escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
Run Code Online (Sandbox Code Playgroud)

这将是以下输出escapedString

http://www.somedomain.com/folder/%D9%85%D8%B1%D8%AD%D8%A8%D8%A7%20%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85.jpg

到现在为止还挺好。但是当我强制尝试转义已经转义的 URL 时,结果很奇怪。

如何检查字符串是否已被编码?

string encoding decoding ios swift

3
推荐指数
1
解决办法
823
查看次数

使用python 3.6解码utf-8字符串

我试图解码我成功编码的 utf-8 字符串,但无法弄清楚如何解码它......实际上它解码得很好,但我只想将它连接起来:

b = base64.b64decode(a).decode("utf-8", "ignore")
print('Decoding:'+b)
Run Code Online (Sandbox Code Playgroud)

就像我通过编码所做的那样

a = str(base64.b64encode(bytes('hasni zinda ha u are my man boy yes u are ', "utf-8")))
print('Encoding :'+a)
Run Code Online (Sandbox Code Playgroud)

每当我尝试以我想要的方式进行操作时,都会出现以下错误:

File "C:/Users/…/python/first.py", line 8, in <module>
  b = base64.b64decode(a).decode("utf-8", "ignore")
File "C:\Users\…\AppData\Local\Programs\Python\Python36-32\lib\base64.py", line 87, in b64decode
  return binascii.a2b_base64(s) binascii.Error: Incorrect padding
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决它吗?

python utf-8 decoding

3
推荐指数
1
解决办法
1万
查看次数

Python从JSON重音字符读取错误

我的"Theres loads of adventures to be had here;\nYou'll get your own Kobémon\nand get to catch more!".JSON 文件中有一个这样的字符串 ( ),当我从它读取到 python 文件和 Tkinter 文本框时,我得到"é"而不是é. 有没有办法阻止这种情况。我使用这个阅读 .JSON :(self.Lines = json.load(open("Data/Lines.json")))

python json diacritics decoding

3
推荐指数
1
解决办法
1596
查看次数

转换 UTF-8 的八进制表示形式

我有一个这样的变量:

\n\n
>>> s = \'\\\\320\\\\227\\\\320\\\\264\\\\320\\\\260\\\\320\\\\275\\\\320\\\\270\\\\320\\\\265 \\\\320\\\\261\\\\321\\\\213\\\\320\\\\262\\\\321\\\\210\\\\320\\\\265\\\\320\\\\271\'\n>>> print(s)\n\\320\\227\\320\\264\\320\\260\\320\\275\\320\\270\\320\\265 \\320\\261\\321\\213\\320\\262\\321\\210\\320\\265\\320\\271\n
Run Code Online (Sandbox Code Playgroud)\n\n

这包含字符串“\xd0\x97\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xb1\xd1\x8b\xd0”的UTF-8编码的八进制转义表示\xb2\xd1\x88\xd0\xb5\xd0\xb9"(八进制320 227=十六进制D0 97= UTF-8 表示“\xd0\x97”)。如何将此字符串解码为“\xd0\x97\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xb1\xd1\x8b\xd0\xb2\xd1\x88\xd0 \xb5\xd0\xb9"?

\n

python encoding decoding

3
推荐指数
1
解决办法
2113
查看次数

如何从字典中制作 Decodable 对象?

我想要一个可以通过普通 Codable 协议或字典实例化的结构(现有代码需要字典实例化)。

我在操场上有这个代码,但我不确定在我的第二个需要字典的初始化中做什么。如何从字典中制作解码器对象?

import Foundation

public protocol Parsable: Decodable {
    init(dict: [String: Any]) throws
}

struct LinkModel: Parsable {
    var href: String
    var text: String

    init(dict: [String: Any]) throws {
        href = "/store/options.aspx"
        text = "Buy"
    }
}

struct ResponseModel: Parsable {
    var link: LinkModel?
    let showCell: Bool

    enum CodingKeys : String, CodingKey {
        case link
        case showCell = "show"
    }

    init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)

        let linkResponses = try container.decode([LinkModel].self, forKey: .link) …
Run Code Online (Sandbox Code Playgroud)

decoding swift

3
推荐指数
2
解决办法
5654
查看次数

Http.get 中的 Elm 字节解码

我对 elm 还很陌生,并且遇到了使用后端数据填充模型的问题。我目前可以向服务器发出 get 请求,该请求返回一个 byte[] (数据是任何类型的图像、音频或视频),当仅通过 Html.img 显示此数据时,它可以正常工作。当我尝试使用 Http.get (src: https: //package.elm-lang.org/packages/elm/http/latest/Http)来填充我的模型时,它需要解码器。问题是,Bytes.Decode.bytes 需要一个 Int 来知道需要解码多少字节。所以我的问题是:有没有什么方法可以访问字节宽度,同时仍然匹配 Http.get 的类型模式?

这是我的问题的一个简单示例:


import Bytes exposing (Bytes)
import Bytes.Decode exposing (Decoder, bytes, decode)
import GeneralTypes exposing (Msg(..))
import Http

getMediaFromUrl : Cmd Msg
getMediaFromUrl = Http.get
        { url = "http://localhost:8090/image/2006/aa@a.de/session"
        , expect = Http.expectBytes GetThumbnail decodeBytes
        }

decodeBytes: Bytes.Bytes -> Decoder Bytes
decodeBytes bytesToDecode= let
                fileSize =
                    bytesToDecode |> Bytes.width
              in
              Bytes.Decode.bytes fileSize
Run Code Online (Sandbox Code Playgroud)
module GeneralTypes exposing (..)

import Bytes exposing (Bytes)
import Http …
Run Code Online (Sandbox Code Playgroud)

byte decoding elm

3
推荐指数
1
解决办法
566
查看次数

PHP 无效的引用打印序列,来自雅虎的格式错误的 q 编码

我在从 Yahoo 帐户转发的电子邮件生成的 PHP 中遇到以下错误:

注意:未知:无效的引用打印序列:=?UTF-8?Q?ck-off with Weekly Sale up to 90% off (errflg=3) in Unknown on line 0

我花了几个小时研究这个问题,并决定在电子邮件中向自己发送完全相同的输出字符串,而无需 Yahoo 参与。正确解码的原始 q 编码文本:

=?UTF-8?Q?GOG_Forward=3A_Fw=3A_=F0=9F=98=89_A_great_Monday_kick-?= =?UTF-8?Q?off_with_Weekly_Sale_up_to_90=25_off?=

来自雅虎的畸形 q 编码文本:

=?UTF-8?Q?GOG_Forward =?UTF-8?Q?ck-off_with_Weekly_Sale_up_to_90%_off?=

解码时的正确字符串:

GOG Forward:Fw:周一开球很棒,每周折扣高达 90%

Roundcube 设法解码正常和格式错误的文本,尽管我不确定如何和 25兆字节有点难以挖掘,我什至无法确定他们在哪里解码主题标题。

如何修复 Yahoo 格式错误的 q 编码版本?

<?php
//These fail:
echo imap_mime_header_decode($mail_message_headers['Subject']);
echo quoted_printable_decode($mail_message_headers['Subject']);
?>
Run Code Online (Sandbox Code Playgroud)

为了澄清起见, imap_fetchstructure页面澄清了4编码的值是Quoted-Printable/ ENCQUOTEDPRINTABLE


新发展

事实证明,由于某种原因,雅虎为同一个标题发送了两次主题,一个格式不正确,另一个没有。这是原始电子邮件Subject标题:

Subject: =?UTF-8?Q?GOG_Forward:_Fw:_=F0=9F=98=89_A_great_Monday_ki?=
 =?UTF-8?Q?ck-off_with_Weekly_Sale_up_to_90%_off?=
MIME-Version: 1.0
Run Code Online (Sandbox Code Playgroud)

php email decoding yahoo-mail

3
推荐指数
1
解决办法
384
查看次数

标签 统计

decoding ×10

python ×5

encoding ×3

string ×2

swift ×2

base64 ×1

byte ×1

c# ×1

character-encoding ×1

diacritics ×1

elm ×1

email ×1

ios ×1

json ×1

php ×1

unicode ×1

utf-8 ×1

yahoo-mail ×1