Sublime Text – Encoding in der Statusbar anzeigen

2018-02-10 von Mario

Der Editor Sublime Text zeigt standardmäßig in der Statusbar das aktuell Encoding nicht an. Im Menü unter “Preferences” | “Settings” können die Einstellungen des Editor angepasst werden.

Es öffnen sich zwei Tabs. In dem Tab “Preferences.sublime-settings” muss lediglich die Zeile

"show_encoding" : true,

eingefügt werden.

Daraufhin wird in der Statusbar das Encoding dargestellt.

 

Kategorie: IT Schlagwörter: , ,

Zeichenkodierung – Unicode (Teil 3)

2018-02-04 von Mario

In dem dritten Teil der Reihe „Zeichenkodierung“ geht es um Unicode.

Die Zeichenkodierung „Unicode“

Unicode ist ein internationaler Standard, in dem alle Schriftzeichen und Textelemente aller bekannten Schriftkulturen und Zeichensysteme digital festlegt werden. Bei Unicode existieren zwei Zuordnungsmethoden: das Unicode Transformation Format (UTF) und die Universal Coded Character Set (UCS).

Seit der Unicode Version 4.0 von 2011 sind beide Standards (UTF, UCS) hinsichtlich der Kodierungen deckungsgleich. Deshalb wird im folgenden Teil ausschließlich auf UTF eingegangen.

 

UTF (Unicode Transformation Format)

Mit dieser Kodierung sind je Format 1.114.112 Zeichen (Codepoints) darstellbar. Die verschieden UFT-Formate und deren Eckdaten stellt die folgende Tabelle dar:

UTF-8 UTF-16 UTF-32
Anzahl Bits 8 Bit 16 Bit 32 Bit
Anzahl Bytes je Zeichen 1 Byte bis 4 Byte
(variable Byte-Anzahl)
2 Bytes 4 Bytes
max. Anzahl Zeichen 256 65.536 4.294.967.296
BOM optional UTF-16LE
UTF-16BE
UTF-32LE
UTF-32BE
Anmerkung Die ersten 128 Zeichen stimmen mit dem ASCII-Zeichensatz überein.
Diese werden mit einem Byte kodiert.

 

Ein Vorteil von UTF ist, dass eine verlustfreie Umwandlung von einem zum anderen Format möglich ist.

Bei Unicode existieren zwei Wege, die Informationen zu speichern. Exemplarisch wird der Text “Hallo” verwendet, daraus ergeben sich zwei Varianten, je nachdem, wie die Bytes angeordnet werden.

 

Text H a l l o
Hexadezimal  00 48  00 61  00 6C  00 6C  00 6F
Hexadezimal  48 00  61 00  6C 00  6C 00  6F 00

 

Die Unterscheidung wird durch das Byte Order Mark vorgenommen.

 

BOM (Byte Order Mark)

Das Byte Order Mark gibt an, welche Variante für die Kodierung eines Textes angewendet wird. Dadurch kann bei der Verarbeitung von Dateien mit unterschiedlichen Programmen eine Unterscheidung erfolgen. Bei den Kodierungen UTF-16 und UTF-32 muss die BOM-Byte-Reihenfolge angegeben werden, bei UTF-8 ist die Angabe optional.

Kodierung hexadezimale Darstellung
UTF-8  EF BB BF
UTF-16 (BE)  FE FF
UTF-16 (LE)  FF FE
UTF-32 (BE)  00 00 FE FF
UTF-32 (LE)  00 00 FE FF

 

Es wird zwischen Little Endian (LE) und Big Endian (BE) unterschieden.

Byte Order Mark Beispiel Beschreibung
Little Endian (LE)  Tag.Monat.Jahr  Bei Little Endian wird das kleinstwertige Byte zuerst genannt.
Big Endian (BE)  Jahr.Monat.Tag  Bei Big Endian wird das höchstwertige Byte zuerst genannt.

 

Codepoint

Die Position eines Zeichens in einem Zeichensatz ist der sog. Codepoint („Codeposition“). Im Unicode-Standard werden die Zeichen in einem festgelegten Format adressiert.

U+xxxx

Das “U” steht dabei für Unicode und “xxxx” steht für eine hexadezimale Darstellung eines Zeichens. Beispielsweise kann das Euro “€” Zeichen mit dem Codepoint

U+20AC

angesprochen werden. Eine Darstellung des Zeichens auf einer Webseite stellt sich wie folgt dar:

€

 

Eine Übersicht aller Zeichen ist unter ascii-table.com/unicode.php zu finden.

 

Vorherige Teile:

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

Zeichenkodierung – ANSI (Teil 2)

Kategorie: IT Schlagwörter: , , , ,

Zeichenkodierung – ANSI (Teil 2)

2018-01-28 von Mario

Hier kommt der zweite Teil aus der Reihe “Zeichenkodierung”.

Die Zeichenkodierung “ANSI”

ANSI steht für American National Standards Institute, dabei handelt es sich um eine Erweiterung des ASCII-Codes.

Alle Zeichen von 0 bis 128 sind identisch dem ASCII Zeichensatz. Alle Zeichen über 128 unterscheiden sich darin, dass viele zusätzliche Sonderzeichen (Zahlenbrüche, Vokale mit französischen Accent oder Währungssymbole) dargestellt werden.

Insgesamt sind 256 Zeichen darstellbar. Bei der Kodierung werden jedem Zeichen 8 Bits zugeordnet.

Dadurch ergeben sich 28 = 256 verschiedene Kombinationen.

Eine Übersicht aller Zeichen ist unter ascii-table.com/ansi-codes.php zu finden.

 

Vorherige Teile:

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

Kategorie: IT Schlagwörter: , , , ,

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

2018-01-21 von Mario

Bei der elektronischen Datenverarbeitung werden Zeichen, also bspw. Buchstaben, die Du hier gerade liest, als Zahlen kodiert. Dabei können Zeichen auf verschiedene Arten kodiert werden (Morsezeichen, Töne, Zahlen, …). Mit der fortschreitenden Entwicklung des Computers entstanden verschiedene Zeichenkodierungen. In diesem Teil geht es um allgemeine Begrifflichkeiten und die Kodierung ASCII.

Zeichensatz

Ein Zeichensatz (character set, kurz charset) ist die Menge aller Schriftzeichen. In dieser Menge können Buchstaben eines Alphabetes, Ziffern, Symbole oder Sonderzeichen enthalten sein.

Zeichenkodierung

Eine Zeichenkodierung beschreibt die konkrete Abbildung von Zeichen auf Byte-Werte.

Codepoint

In einem Zeichensatz werden Zeichen in einer bestimmten Reihenfolge (code space) angeordnet. Zur Verdeutlichung ein Beispiel mit einem Zeichensatz welcher vier Buchstaben enthält.

Zeichensatz A B C D
Codepoint 1 2 3 4

Die Position eines Zeichens in einem Zeichensatz ist der sog. Codepoint („Codeposition“). Ein Zeichensatz mit Codepoints wird als ein codierter Zeichensatz (coded character set) bezeichnet.

Schriftart

Für die grafische Darstellung von Zeichen werden Schriftarten verwendet. In der Regel weisen Schriftarten eine konsistente Gestaltung auf (Dicke der Buchstaben, Serifen, …).

Tastatur-Layout

Das Tastatur-Layout kann auch als Tastenbelegung bezeichnet werden. Dabei wird jeder Taste auf der Tastatur ein Codepoint zugeordnet. Beispielsweise wird für die Ausgabe des Buchstabens “z” die beschriftete Taste “z” auf einer deutschen Tastatur geklickt. Wird die Tastenbelegung auf US-amerikanisch geändert, erzeugt dieselbe Taste ein “y”.

 

Die Zeichenkodierung “ASCII”

Der American Standard Code for Information Interchange kurz ASCII umfasst 128 Zeichen. Davon bestehen 33 aus nicht druckbaren und 95 aus druckbaren Zeichen.

druckbare Zeichen nicht druckbare Steuerzeichen
  • lateinische Alphabet in Groß- und Kleinschreibung
  • zehn arabischen Ziffern
  • einige Interpunktionszeichen (Satzzeichen, Wortzeichen)
  • Sonderzeichen
  • Zeilenvorschub
  • Tabulator
  • Trennzeichen

Bei der Kodierung wird jedem Zeichen ein Bitmuster aus 7 Bits zugeordnet. Das 8. Bit eines Bytes wird nicht benutzt oder wird für verschiedene andere Zwecke verwendet. Dadurch ergeben sich  27 = 128 verschiedene Kombinationen. Hier ein kleiner Abriss der Kodierung:

Schriftzeichen Dezimal Binär
A 65 (0)100 0001
B 66 (0)100 0010
C 67 (0)100 0011

 

Eine Übersicht aller Zeichen ist unter ascii-table.com/ascii.php zu finden.

Kategorie: IT Schlagwörter: , , , ,

34C3

2018-01-04 von Mario

Auch Ende 2017 fand der Chaos Communication Congress statt. Diesmal unter dem Motto “tuwat“.

Es gab spannende Vorträge und Worshops, welche live im Internet übertragen wurden. Einige Vorträge habe ich konsumiert und kann diese absolut empfehlen.

  • Ladeinfrastruktur für Elektroautos: Ausbau statt Sicherheit
  • Die Lauschprogramme der Geheimdienste
  • QualityLand
  • Der PC-Wahl-Hack
  • Die fabelhafte Welt des Mobilebankings
  • KRACKing WPA2 by Forcing Nonce Reuse
  • Relativitätstheorie
  • All Computers Are Beschlagnahmt
  • Beeinflussung durch Künstliche Intelligenz
  • How to drift with any car
  • Financial surveillance
  • Social Bots, Fake News und Filterblasen
  • ASLR on the line
  • Hacker Jeopardy
  • Regulating Autonomous Weapons
  • Antipatterns und Missverständnisse in der Softwareentwicklung
  • Methodisch inkorrekt!
  • Saving the World with Space Solar Power
  • Drones of Power: Airborne Wind Energy
  • avatar²
  • Resilienced Kryptographie
  • Are all BSDs created equally?
  • Tiger, Drucker und ein Mahnmal
  • Decoding Contactless (Card) Payments
  • Jahresrückblick
  • Schreibtisch Hooligans
  • Mietshäusersyndikat: den Immobilienmarkt hacken
  • TrustZone is not enough
  • 0en & 1en auf dem Acker
  • Security Nightmares 0x12
  • 34C3 Infrastructure Review
  • SCADA Gateway to (s)hell

 

Die Vorträge können hier: media.ccc.de/c/34c3 angeschaut werden.

Kategorie: Unterhaltung Schlagwörter: ,

Yahoo Finance API mit Python

2017-12-30 von Mario

Mithilfe der Yahoo Finance API ist es möglich, automatisiert Aktienkurse und viele weitere Informationen auszulesen. Dafür habe ich ein kleines Python Script erstellt, welches es ermöglicht, den Abruf von zuvor festgelegten Werten (Aktien, Indexe, …) durchzuführen.

TL;DR

In dem folgenden Beispiel Script werden Informationen von insgesamt drei Aktienindexen abgerufen und angezeigt.

Download: yahoo.zip

Technische Erläuterung

Zeile Beschreibung
2-4 Import von verwendeten Bibliotheken.
6 In der Liste “stockList” sind drei Symbole enthalten, die über die API abgerufen werden.
7 Adresse (URL) der API.
9-10 Abruf der Symbole über die API und einlesen.
11 Den Response in ein Python-Objekt umwandeln.
13 Die Ergebnismenge durchlaufen.
14-19 Es werden verschiedene Attribute ausgegeben.
20 Leerzeile ausgeben

 

Ausgabe

Die Anzeige der ausgelesenen Indexe und ihrer Attribute stellt sich auf der Konsole wie folgt dar:

Symbol bestimmen

Über ein Symbol kann der Yahoo Finance API kommuniziert werden, welche Aktie oder welcher Index abgefragt werden soll. Um ein Symbol in Erfahrung zu bringen, kann die Website finance.yahoo.com verwendet werden. Auf dem folgendem Bild kann nach dem jeweiligen Wert (Index, Aktie, …) gesucht werden. In dem Beispiel wurde nach dem “Dow Jones” Index gesucht.

Neben dem Namen “Dow Jones Industrial Average” wird das Symbol “^DJI” dargestellt. Dieses Symbol und noch zwei weitere werden im obigen Script (Zeile 6) aufgelistet und somit abgefragt.

 

Weitere Attribute anzeigen

Mit dem Browser Firefox ist es möglich, die API direkt anzusprechen und sich alle Attribute übersichtlich darstellen zu lassen.

Link: https://query1.finance.yahoo.com/v7/finance/quote?symbols=^DJI

Wenn die Ausgabe anderer Attribute gewünscht ist, kann das Script entsprechend angepasst werden.

Kategorie: IT Schlagwörter: , , , ,