示例#1
0
def guess_textual_header_encoding(fh):
    """Read the SEG Y card image header, also known as the textual header

    Args:
        fh: A file-like object open in binary mode positioned such that the
            beginning of the textual header will be the next byte to read.

    Returns:
        Either 'cp037' for EBCDIC or 'ascii' for ASCII.
    """
    with restored_position_seek(fh, 0):
        raw_header = fh.read(TEXTUAL_HEADER_NUM_BYTES)
    encoding = guess_encoding(raw_header)
    return encoding
示例#2
0
 def test_guess_encoding_inconclusive(self):
     assert guess_encoding(
         bytes(COMMON_ASCII_CHARS) + bytes(5) +
         bytes(COMMON_EBCDIC_CHARS)) == None
示例#3
0
 def test_guess_encoding_mostly_ebcdic(self):
     assert guess_encoding(
         bytes(COMMON_ASCII_CHARS) + bytes(COMMON_EBCDIC_CHARS) +
         bytes(COMMON_EBCDIC_CHARS)) == EBCDIC
示例#4
0
 def test_guess_encoding_all_null_is_ascii(self):
     assert guess_encoding(bytes(5)) == ASCII
示例#5
0
 def test_guess_encoding_empty_is_none(self):
     assert guess_encoding(b'') is None
示例#6
0
 def test_guess_encoding_ebcdic(self):
     assert guess_encoding(bytes(COMMON_EBCDIC_CHARS)) == EBCDIC
示例#7
0
 def test_guess_encoding_ascii(self):
     assert guess_encoding(bytes(COMMON_ASCII_CHARS)) == ASCII
示例#8
0
def guess_textual_header_encoding(fh):
    fh.seek(0)
    raw_header = fh.read(TEXTUAL_HEADER_NUM_BYTES)
    encoding = guess_encoding(raw_header)
    return encoding
示例#9
0
 def test_guess_encoding_mostly_ebcdic(self):
     assert guess_encoding(bytes(COMMON_ASCII_CHARS) + bytes(COMMON_EBCDIC_CHARS) + bytes(COMMON_EBCDIC_CHARS)) == EBCDIC
示例#10
0
 def test_guess_encoding_inconclusive(self):
     assert guess_encoding(bytes(COMMON_ASCII_CHARS) + bytes(5) + bytes(COMMON_EBCDIC_CHARS)) == None
示例#11
0
 def test_guess_encoding_all_null_is_ascii(self):
     assert guess_encoding(bytes(5)) == ASCII
示例#12
0
 def test_guess_encoding_empty_is_none(self):
     assert guess_encoding(b'') is None
示例#13
0
 def test_guess_encoding_ebcdic(self):
     assert guess_encoding(bytes(COMMON_EBCDIC_CHARS)) == EBCDIC
示例#14
0
 def test_guess_encoding_ascii(self):
     assert guess_encoding(bytes(COMMON_ASCII_CHARS)) == ASCII
示例#15
0
文件: toolkit.py 项目: hohogpb/segpy
def guess_textual_header_encoding(fh):
    fh.seek(0)
    raw_header = fh.read(TEXTUAL_HEADER_NUM_BYTES)
    encoding = guess_encoding(raw_header)
    return encoding