0
考慮以下字符串:轉換SCC(兩字節十六進制字)串
00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d
如何將它轉換爲文本?
考慮以下字符串:轉換SCC(兩字節十六進制字)串
00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d
如何將它轉換爲文本?
pycaption是我找到的庫。 pip install pycaption
並嘗試解析您的樣本:
from pycaption import SCCReader
input = '00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d'
contents = SCCReader().read(input.decode('utf-8'))
contents.get_captions('en-US')
你將得到錯誤:
pycaption.exceptions.CaptionReadNoCaptions: CaptionReadNoCaptions((u'empty caption file',))
這是因爲SCC不僅包含編碼的文本,它也有內部命令。前2個字節9420
表示「開始彈出式字幕」。爲了正確顯示文本,預計會有942f
(標題結束)。但是你的示例中缺少它。我認爲這是在你沒有粘貼的以下部分。同時,SCC文件的第一行應該是版本格式。讓我們添加2行到您的樣品:
input = '''Scenarist_SCC V1.0
00:00:03:13 9420 9454 5bcb 45d9 c24f c152 c449 cec7 94f2 c1ce c420 434f cdd0 d554 4552 20ce 4f49 d345 d35d
00:00:04:00 942f
'''
那麼輸出將是:
[u'00:00:04.037 --> 00:00:00.000\n[KEYBOARDING\nAND COMPUTER NOISES]']
一開始並不像2個字節爲十六進制。 – Deduplicator 2015-01-26 23:32:14
任何特定的編程語言?如果不是,那麼'language-agnostic'標籤可能是合適的。 – 2015-01-26 23:32:30
@PaulR任何語言都可以在這裏工作 - 我的偏好是python。 – David542 2015-01-26 23:57:47