2014-05-02 47 views
0

Hello友好的stackExchange社區。解碼OSC/UDP數據包以使用Python中的值

我正在接收OSC包,這是UDP,到我的socketserver.UDPServer。該UDP數據包看起來是這樣的:

b'/sample/address\x00,f\x00\[email protected]\xf5\xc3' 

我已經使用OSC命令行工具

oscsend localhost 9999 /sample/address f 3.14 

發送這個消息對我自己,所以我知道會發生什麼。字符串/樣本/地址和浮點值3.14

現在的問題是:如何解碼Python中的字節串,以便獲取可用類型的實際值?

聲明:我很清楚,有幾個庫可以在Python中使用OSC數據。這個問題是a)關於知識本身和b)我的OSC實現將只是幾條消息,我想本地執行而沒有任何第三方的依賴或代碼(儘管我自己的許可證是LGPL,所以不要擔心)

回答

0

您可以使用標準struct模塊將解決方案拼湊在一起。

+0

如果我不知道它是否會提前浮動或字符串或int? – nilsge

+0

你必須知道。僅僅通過查看原始字符串就無法可靠地進行猜測。我不知道OSC,但你需要找到一些關於它的文檔來解釋這一點。 –