Commit 0982acb0bf7a586f98c6fe956d5fcb74f2afd7fb

Authored by decalage2
1 parent fdc77bfa

codepages: added get_codepage_name

Showing 1 changed file with 13 additions and 0 deletions
oletools/common/codepages.py
@@ -3,6 +3,7 @@ codepages.py @@ -3,6 +3,7 @@ codepages.py
3 3
4 codepages is a python module to map code pages (numbers) to Python codecs, 4 codepages is a python module to map code pages (numbers) to Python codecs,
5 in order to decode bytes to unicode. 5 in order to decode bytes to unicode.
  6 +It also provides the name/description of code pages.
6 7
7 Author: Philippe Lagadec - http://www.decalage.info 8 Author: Philippe Lagadec - http://www.decalage.info
8 License: BSD, see source code or documentation 9 License: BSD, see source code or documentation
@@ -45,6 +46,8 @@ __version__ = '0.54dev6' @@ -45,6 +46,8 @@ __version__ = '0.54dev6'
45 46
46 # ----------------------------------------------------------------------------- 47 # -----------------------------------------------------------------------------
47 # TODO: 48 # TODO:
  49 +# TODO: check also http://www.aivosto.com/articles/charsets-codepages.html
  50 +# TODO: https://en.wikipedia.org/wiki/Code_page
48 51
49 # ----------------------------------------------------------------------------- 52 # -----------------------------------------------------------------------------
50 # REFERENCES: 53 # REFERENCES:
@@ -290,6 +293,16 @@ def codepage2codec(codepage): @@ -290,6 +293,16 @@ def codepage2codec(codepage):
290 codec = 'utf8' 293 codec = 'utf8'
291 return codec 294 return codec
292 295
  296 +
  297 +def get_codepage_name(codepage):
  298 + """
  299 + return the name of a codepage based on its number
  300 + :param codepage: int, codepage number
  301 + :return: str, codepage name
  302 + """
  303 + return CODEPAGE_NAME.get(codepage, 'Unknown code page')
  304 +
  305 +
293 # === MAIN: TESTS ============================================================ 306 # === MAIN: TESTS ============================================================
294 307
295 if __name__ == '__main__': 308 if __name__ == '__main__':