b'\n_START_ARTICLE_\nInternational Securities Identification Number\n_START_PARAGRAPH_\nInternational Securities Identification Number (ISIN) \xc3\xa4r en kod som \xc3\xa4r avsedd att entydigt identifiera ett v\xc3\xa4rdepapper. ISIN-koden utg\xc3\xb6rs av en alfanumerisk f\xc3\xb6ljd om tolv tecken. Koden har tre komponenter: den inleds med en tv\xc3\xa5st\xc3\xa4llig landskod enligt ISO-6166-standarden, d\xc3\xa4refter f\xc3\xb6ljer en niost\xc3\xa4llig alfannumerisk svit och d\xc3\xa4refter en kontrollsiffra som, medelst Luhn-algoritmen, ber\xc3\xa4knas fr\xc3\xa5n de elva f\xc3\xb6reg\xc3\xa5ende tecknen. Swebanks akties ISIN-kod \xc3\xa4r t.ex. SE0000242455.\n_START_SECTION_\nKommentar till kontrollsiffran\n_START_PARAGRAPH_\nBokst\xc3\xa4verna i koden ers\xc3\xa4tts med A=10, B=11 etc., innan Luhn-algoritmen till\xc3\xa4mpas._NEWLINE__NEWLINE_Exempelrutin i Python som avg\xc3\xb6r om en ISIN-kod har korrekt kontrollsiffra:_NEWLINE_import redef isin_check(s):_NEWLINE_if not bool(re.search("^[A-Z]{2}[A-Z\\d]{9}\\d$", s)):_NEWLINE_return False_NEWLINE_d=dict(zip(map(str, xrange(10)) + _NEWLINE_map(chr, xrange(ord(\'A\'), ord(\'Z\')+1)), map(str, xrange(36))))_NEWLINE_p=re.compile("|".join(d.keys()))_NEWLINE_r=p.sub(lambda x: d[x.group()], s)_NEWLINE_return (sum(map(lambda x: x%10 + x/10,_NEWLINE_[int(r[i])*((i+(len(r)+1)%2)%2 + 1) for i in xrange(len(r))]))) % 10 == 0'