[英]Is there a Python library equivalent of the Java's FixedThreadPool?
[英]Java equivalent of Python's “construct” library
是否有Java的“構造”庫的Java等價物? 我想像這樣寫“結構”:
message = Struct("message",
UBInt8("protocol"),
UBInt16("length"),
MetaField("data", lambda ctx: ctx["length"])
)
它不必特別是使用Java語言進行某種抽象的庫。 我的意思是,它可能是一種“可移植”格式,帶有用於解析文檔的API。 我想這可能會解決XML,但它會更難看。
我意識到我可以與Python互操作,但我不想那樣做。
我看了很多,我能找到的只是Ragel(www.complang.org/ragel),它也可以生成Java代碼。 對我來說這看起來太復雜了,所以我開始做一些工作來將Construct移植到Java。 我懷疑在Scala,Groovy或JavaScript中制作類似的東西會更容易。
在GitHub上構建: https : //github.com/MostAwesomeDude/construct
java構造: https : //github.com/ZiglioNZ/construct
我花了幾天時間,主要是尋找python表達類的等價物。 我發現的最有用的java類是:java.util.Scanner,java.util.Formatter和java.nio.ByteBuffer。 這是一項很重要的任務,所以我想專注於為ByteBuffers創建簡單的解析器和格式化程序。
[更新]
我已經移植了足夠的代碼來解析和構建Python Construct附帶的一些協議,例如ethernet,arp和ipv4。 請訪問https://github.com/ZiglioNZ/construct查看
[更新:新版本]
Java Construct 1.1.2現已推出,請參閱發行說明 。
您可以使用DataInput
/ DataOutput
(及其實現)將任何值集合從/轉換為一組字節。 但是,這並沒有為您提供一個可以使用名稱來訪問各個字段的對象 - 您必須自己創建這樣的對象。
這取決於您想要做什么 - 您是否有固定數據格式在線上發送/接收,或者這是否會不時變化?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.