标签: decode

如何快速解码霍夫曼代码?

我在Windows下使用纯霍夫曼代码实现了一个简单的压缩器.但我不太了解如何快速解码压缩文件,我的错误算法是:

枚举代​​码表中的所有霍夫曼代码,然后将其与压缩文件中的位进行比较.结果是可怕的结果:解压缩3MB文件需要6个小时.

你能提供更高效的算法吗?我应该使用Hash还是什么?

更新:根据我朋友Lin的建议,我已经用状态表实现了解码器.我认为这种方法应该优于travesal huffman tree,6s内3MB.

谢谢.

c++ decode huffman-code

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

在Python中使用file.write写入文件时出错.UnicodeEncodeError

我从来没有处理过编码和解码字符串,所以我就是这方面的新手.当我尝试使用Python中的file.write将我从另一个文件读取的内容写入临时文件时,我收到了一个UnicodeEncodeError.我收到以下错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 41333: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

这是我在我的代码中所做的.我正在读取XML文件并从"mydata"标签获取文本.然后我遍历mydata寻找CDATA

    parser = etree.XMLParser(strip_cdata=False)
    root = etree.parse(myfile.xml, parser)
    data = root.findall('./mydata')
    # iterate through list to find text (lua code) contained in elements containing CDATA
    for item in myData:
        myCode = item.text

    # Write myCode to a temporary file.
    tempDirectory = tempfile.mkdtemp(suffix="", prefix="TEST_THIS_")
    file = open(tempDirectory + os.path.sep + "myCode.lua", "w")

    file.write(myCode + "\n")
    file.close()
Run Code Online (Sandbox Code Playgroud)

当我点击以下行时,它失败了UnicodeEncodeError:

file.write(myCode + "\n")
Run Code Online (Sandbox Code Playgroud)

我应该如何正确编码和解码?

unicode encode decode fwrite python-2.7

11
推荐指数
1
解决办法
9659
查看次数

从.NET应用程序中读取和解码存储在图像或PDF文件中的PDF-417条形码

我正在寻找一个能够解码嵌入在图像文件或PDF中的PDF-417条形码数据的.NET库.此时,我只能找到Java版本C版本.

理想情况下,这个库既可以是开源的,也可以是免费的,但我怀疑这样的解码器是否存在.

我愿意尝试您可能已经体验过的现有产品的演示 - 这引出了我的问题 - 您是否有使用.NET阅读嵌入图像或PDF的PDF-417条形码的经验,以及哪些可用产品你会建议这样做吗?

.net c# decode barcode

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

10
推荐指数
1
解决办法
6573
查看次数

ASP.NET MVC URL解码

我有这样的动作:

<%=Html.ActionLink("My_link", "About", "Home", new RouteValueDictionary { 
    { "id", "Österreich" } }, null)%>
Run Code Online (Sandbox Code Playgroud)

这会产生以下链接:http:// localhost:1855/Home/About /%C3%96sterreich

我想要一个看起来像这样的链接 - localhost:1855/Home/About /Österreich

我试过了.

Server.HtmlDecode("Österreich")
HttpUtility.UrlDecode("Österreich") 
Run Code Online (Sandbox Code Playgroud)

似乎都没有帮助.还有什么可以尝试获得我想要的结果?

url asp.net-mvc decode

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

Erlang模式匹配位串

我正在编写代码来解码来自二进制协议的消息.每种消息类型都分配有1字节类型标识符,每条消息都带有此类型ID.消息都以包含5个字段的公共标头开头.我的API很简单:

decoder:decode(Bin :: binary()) -> my_message_type() | {error, binary()}`
Run Code Online (Sandbox Code Playgroud)

我的第一直觉是通过为每种消息类型编写一个解码函数来严重依赖模式匹配,并在fun参数中完全解码该消息类型

decode(<<Hdr1:8, ?MESSAGE_TYPE_ID_X:8, Hdr3:8, Hdr4:8, Hdr5:32, 
         TypeXField1:32, TypeXFld2:32, TypeXFld3:32>>) ->
    #message_x{hdr1=Hdr1, hdr3=Hdr3 ... fld4=TypeXFld3};

decode(<<Hdr1:8, ?MESSAGE_TYPE_ID_Y:8, Hdr3:8, Hdr4:8, Hdr5:32, 
         TypeYField1:32, TypeYFld2:16, TypeYFld3:4, TypeYFld4:32
         TypeYFld5:64>>) ->
    #message_y{hdr1=Hdr1, hdr3=Hdr3 ... fld5=TypeYFld5}.
Run Code Online (Sandbox Code Playgroud)

请注意,虽然消息的前5个字段在结构上相同,但之后的字段因每种消息类型而异.

我有大约20种消息类型,因此有20种类似于上面的功能.我用这种结构多次解码完整的消息?这是惯用的吗?我只是解码函数头中的消息类型字段然后解码消息正文中的完整消息会更好吗?

erlang performance decode pattern-matching bitstring

10
推荐指数
2
解决办法
874
查看次数

Informatica中的案例陈述/解码功能

任何人都可以帮我在Informatica PowerCenter Designer中编写案例陈述吗?我是Informatica的新手,基于我有限的经验,我觉得不支持案例陈述.有一个具有类似功能的解码功能,但我无法在语法上找到任何好的例子.

如果有人能给我一些关于如何在Informatica中使用case语句/解码函数的具体例子,我将非常感激.

非常感谢您的帮助!

decode case-statement informatica informatica-powercenter

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

解码python base64字符串

我已经提取了图像的forecolor,texture和edgemap值的base64字符串,我有一个包含以下结构的列表:

forecolor=AgCEAg4DUQQCBQQGARMBFQE1AmUB
edge=AfCAFg5iIATCPwTAEIiBFggBDw
forecolor=AgAsAQ0CJAMcDRgOGg8DHQYeBzYBPQ4-DU0ETgNtBm4CfQI
Run Code Online (Sandbox Code Playgroud)

我试图解码这些值,但我收到错误的填充错误,这是确切的错误:

Traceback (most recent call last):
  File "ImageVectorData.py", line 44, in <module>
    print "Decoded String: " + decoded.decode('base64', 'strict')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/base64_codec.py", line 42, in base64_decode
    output = base64.decodestring(input)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.py", line 321, in decodestring
    return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

for item in value:
    print "String before Split: " + item
    if item.split("=")[0] == "forecolor":
        decoded = (item.split("=")[1])
        print "String to be decoded: " + decoded
        print "Decoded String: " + decoded.decode('base64', 'strict')
Run Code Online (Sandbox Code Playgroud)

当第一个forecolor base64字符串被解码时,我也看到了一个有趣的输出:这是输出:

String …
Run Code Online (Sandbox Code Playgroud)

python base64 decode

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

榆树解码未知的json结构

我刚刚开始与Elm合作,使用我正在研究的Rest API进行一些前端原型设计.通常,API返回可以解码的"合理"数据结构,因为键和值类型是众所周知的,但是几种资源类型返回的data条目只有具有没有预定结构的原始json.

到目前为止我读过的所有东西似乎都假设你知道你正在解码的数据的结构,而在普通的js中,相对容易循环键并反映类型以确定它们应该如何在运行时处理.我还没有看到在Elm中处理这类数据的明确路径.

例如,

{
  "name":"foo",
  "data": {
    "bar": [{"baz":123}, "quux"]
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

我想知道目前是否可以data用类似的东西来解析条目的值

function go(obj)
    for key in keys(foo)
        if foo[key] is an object
            go(foo[k])
        else if foo[key] is an array
            map(go, foo[k])
        ...
Run Code Online (Sandbox Code Playgroud)

特别:

  1. 目前是否可以在Elm中处理未知的,可能深度嵌套的和异构的json数据?
  2. 如果是这样,你能否给出关于作者如何将这样的数据解码的关键概念或高级直觉?

json decode elm

10
推荐指数
1
解决办法
909
查看次数

将JSON解码为Elm也许吧

给出以下JSON:

[
  {
    "id": 0,
    "name": "Item 1",
    "desc": "The first item"
  },
  {
    "id": 1,
    "name": "Item 2"
  }
]
Run Code Online (Sandbox Code Playgroud)

如何将其解码为以下模型:

type alias Model =
    { id : Int
    , name : String
    , desc : Maybe String
    }
Run Code Online (Sandbox Code Playgroud)

json decode elm

10
推荐指数
2
解决办法
2829
查看次数