Xcode Swift String<>Int<>Hex

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Squ1zZy
  • Registratie: April 2011
  • Niet online
Ik zit altijd te stoeien met het omzetten van string naar int en het weergeven in hex.

Mijn code is als volgt:

code:
1
2
3
4
5
6
7
8
9
        let test1 = String(data1.characters.dropFirst(100))
        for character in test1.unicodeScalars {
            let value = character.value
            if value > 110 {
                let value1 = value - 40
                let myString = String(value1)
                print(myString, terminator:"")
            }
        }


Wat ik bereiken is een character wat hoger is als X in ascii - 40 in hex. Dus de kleine letter w in decimal is 119 of in hex 77. Nu laat hij de decimal als string zien. Hoe kan ik dit het beste aanpakken? Ik ben steeds een conversie aan het doen terwijl dat niet hoeft heb ik het idee |:(

Ik snap dat in mem het binary, maar Xcode ziet het als decimal string. Dus ik kan niet zeggen "character - 40" want die 40 wordt gezien als int.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik snap niet helemaal wat je bedoelt misschien, maar moet je dan niet "character - 64" doen (0x40 decimaal weergegeven)?

Acties:
  • 0 Henk 'm!

  • Squ1zZy
  • Registratie: April 2011
  • Niet online
Verwijderd schreef op vrijdag 10 juni 2016 @ 20:36:
Ik snap niet helemaal wat je bedoelt misschien, maar moet je dan niet "character - 64" doen (0x40 decimaal weergegeven)?
Dat werkt dus niet. Ik kan niet decimalen van een string afhalen.

Edit: Ik heb een character. Daar wi ik dus 40h of 64d vanaf halen en als string printen.

Dus ik heb een string "Tweakers". Daar neem ik de eerste character van "T" en subtract daar 1 van. Ik wil dan als output "S" hebben. Het is nu type char. Die moet ik eerst omzetten naar int, subtract 1 en dan weer naar char hebben.

[ Voor 36% gewijzigd door Squ1zZy op 10-06-2016 20:47 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik herken de programmeertaal niet, dus dat maakt het lastiger, maar heb je daar geen functies als chr en ord, zoals in PHP?

Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 00:09

The Eagle

I wear my sunglasses at night

Nooit iets met Xcode gedaan, maar is dit iets? http://stackoverflow.com/...-to-hex-cocoa-objective-c

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Laatst online: 01:15
Squ1zZy schreef op vrijdag 10 juni 2016 @ 20:40:
[...]

Dus ik heb een string "Tweakers". Daar neem ik de eerste character van "T" en subtract daar 1 van. Ik wil dan als output "S" hebben. Het is nu type char. Die moet ik eerst omzetten naar int, subtract 1 en dan weer naar char hebben.
Als dat alles is, waarom verwarring zaaien met dat warrige hex-verhaal? Het eerste deel heb je zo te zien al en even googlen (ik ken Swift verder niet) geeft het volgende om weer een character van die int te krijgen: http://stackoverflow.com/...et-string-from-ascii-code

Acties:
  • 0 Henk 'm!

  • Squ1zZy
  • Registratie: April 2011
  • Niet online
Wat een gepuzzel zeg. Met Swift is het wel makkelijker geworden, maar het is wennen. Hier de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        let test1 = String(data1.characters.dropFirst(100))
        
        for code in String(test1).utf16 {
            if code > 127 {
                let code = code - 80
                let u = UnicodeScalar(code)
                let char = Character(u)
                print(char)
            }
            else {
                let u = UnicodeScalar(code)
                let char = Character(u)
                print(char)
            }
        }
Pagina: 1