Sehr geehrter Herr Büchel, meine Aussage bezieht sich ausschlisßlich auf die Generierung der <index>Ziffer, nicht jedoch auf ihre Bestimmung als <point>Zahl zur Codierung eine Unicode-Zeichens. Das eine ist “input” und das anderte “output”, o.K.? mfg Erich Schnoor
> Anfang der weitergeleiteten Nachricht: > > Von: Wolli Buechel über python-de <python-de@python.org> > Betreff: [Python-de] Re: Fwd: Codepage-Methode vs. UTF8 > Datum: 17. August 2024 um 12:13:27 MESZ > An: python-de@python.org > Antwort an: Wolli Buechel <wjb...@web.de> > > Hallo Herr Schnoor, > >> was Sie da aufzeigen, mag ja interessant sein, hat >> aber mit den <index>Ziffern nichts zu tun. >> Für <index>Ziffern gelten weder “Bits” noch ”Bytes”, >> sondern ausschließlich die Position der Ziffer im String. >> (Positionswert). > > Diese Bit- und Byte-Abstinenz besagter Index-Ziffern haben Sie danach > in einer privaten Mail demonstriert anhand von 8 Exemplaren mit > CPM-Output-Gedöns > (leider wieder aus unbegreiflichen Gründen nicht in Worten > begründet oder erläutert), und zwar so: > > =============== ZITAT-ANFANG ================ > hier kommt meine Aufstellung der <index>Ziffern: > > chose mode > S > Basis: 4096 > > insert system number: E > E > result: 40 > insert system number: 10 > 10 > result: 4096 > 4 > insert system number: 1E > 1E > result: 4136 > 4 > Die <index>Ziffer "1E" steht in der Position [4096 + 40 = 4136]. > > insert system number: 20 > 20 > result: 8192 > 4 > insert system number: 2E > 2E > result: 8232 > 4 > Die <index>Ziffer "2E" steht in der Position [8192 + 40 = 8232] > > > insert system number: 30 > 30 > result: 12288 > 5 > insert system number: 3E > 3E > result: 12328 > 5 > Die <index>Ziffer "3E" steht in der Position [12288 + 40 = 12328] > > > insert system number: EE > EE > result: 163880 > 6 > insert system number: E0 > E0 > result: 163840 > 6 > Die <index>Ziffer "E0" steht in der Position [13880- 40 = 163840] > > insert system number: KK0 > KK0 > result: 771940352 > 9 > insert system number: KKE > KKE > result: 771940392 > > Das sollte doch genügen. > =============== ZITAT-ENDE ============= > > Da wird lediglich jede Indexzahl in eine äquivalente Dezimalzahl unmgewandelt. > > Dies zeigt auch der mir zugesandte Programmcode der Datei Zahlensysteme.py: > > ================================================================== > elif modus == "S": # ----------------System -> Dezimal > ----------------------- > > system = basis > system = int(system) > print() > print() > syszahl = input(" Eingabe System-Zahl: ") > print("",syszahl) > > basis = system > ergebnis = nachdez(basis,syszahl) ## Konvertierung der > 4096-er Zahl <syszahl> in ein dezimales Äquivalent > print(" > Ergebnis: ",ergebnis) > ergebnis = str(ergebnis) > print(" > ",len(ergebnis)) > print() > ======================================================== > > Diesen Code habe ich komprimiert und etwas erweitert, um zu zeigen, > daß bei ALLEN beteiligten Variablen (index, syszahl, ergebnis) > ÜBERRASCHENDERWEISE Bits und Bytes herauszukitzeln sind: > > ###################### > from CPZiffernS import ziffern > from tools24 import * > > basis = len(ziffern) > print(len(ziffern) == len(set(ziffern))) > print("Basis : %d" % basis) > > # modus == "S": # System -> Dezimal > index = "E 10 1E 20 2E 30 3E EE E0 KK0 KKE".split() > for idx in index: > index10 = nachdez(basis, idx, ziffern) > numZeichen = len(idx) > numBytes = len(bytes(idx, 'utf8')) > Bytes = [ f'{x:08b}' for x in bytes(idx, 'utf8') ] > print("index : %9s\t(%d Zeichen ; %d Byte : %s)" % (idx, numZeichen, > numBytes, Bytes)) > print("index10 : %9s\t(%d Zeichen ; %d Byte)\n" % (index10, > len(str(index10)), len(str(index10)))) > ================================================================================== > > mit folgendem Ergebnis: > > Basis : 4096 > index : E (1 Zeichen ; 1 Byte = ['01000101']) > index10 : 40 (2 Zeichen ; 2 Byte) > > index : 10 (2 Zeichen ; 2 Byte = ['00110001', '00110000']) > index10 : 4096 (4 Zeichen ; 4 Byte) > > index : 1E (2 Zeichen ; 2 Byte = ['00110001', '01000101']) > index10 : 4136 (4 Zeichen ; 4 Byte) > > index : 20 (2 Zeichen ; 2 Byte = ['00110010', '00110000']) > index10 : 8192 (4 Zeichen ; 4 Byte) > > index : 2E (2 Zeichen ; 2 Byte = ['00110010', '01000101']) > index10 : 8232 (4 Zeichen ; 4 Byte) > > index : 30 (2 Zeichen ; 2 Byte = ['00110011', '00110000']) > index10 : 12288 (5 Zeichen ; 5 Byte) > > index : 3E (2 Zeichen ; 2 Byte = ['00110011', '01000101']) > index10 : 12328 (5 Zeichen ; 5 Byte) > > index : EE (2 Zeichen ; 2 Byte = ['01000101', '01000101']) > index10 : 163880 (6 Zeichen ; 6 Byte) > > index : E0 (2 Zeichen ; 2 Byte = ['01000101', '00110000']) > index10 : 163840 (6 Zeichen ; 6 Byte) > > index : KK0 (3 Zeichen ; 3 Byte = ['01001011', '01001011', > '00110000']) > index10 : 771940352 (9 Zeichen ; 9 Byte) > > index : KKE (3 Zeichen ; 3 Byte = ['01001011', '01001011', > '01000101']) > index10 : 771940392 (9 Zeichen ; 9 Byte) > _______________________________________________ > python-de Mailingliste -- python-de@python.org > Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an > python-de-le...@python.org > https://mail.python.org/mailman3/lists/python-de.python.org/ > Mitgliedsadresse: eschn...@multi-matrix.de _______________________________________________ python-de Mailingliste -- python-de@python.org Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an python-de-le...@python.org https://mail.python.org/mailman3/lists/python-de.python.org/ Mitgliedsadresse: arch...@mail-archive.com