顛倒的文字
回答
試試這個,有點蠻力方法的完整列表,但工作得很好大寫,小寫字母和數字字符 - 所有其它字符只是提出,因爲他們來:
(define upside-map '#hash(
(#\a . #\ɐ) (#\b . #\q) (#\c . #\ɔ) (#\d . #\p) (#\e . #\ǝ) (#\f . #\ɟ)
(#\g . #\ƃ) (#\h . #\ɥ) (#\i . #\ı) (#\j . #\ɾ) (#\k . #\ʞ) (#\l . #\ן)
(#\m . #\ɯ) (#\n . #\u) (#\o . #\o) (#\p . #\d) (#\q . #\b) (#\r . #\ɹ)
(#\s . #\s) (#\t . #\ʇ) (#\u . #\n) (#\v . #\ʌ) (#\w . #\ʍ) (#\x . #\x)
(#\y . #\ʎ) (#\z . #\z) (#\A . #\∀) (#\B . #\) (#\C . #\Ɔ) (#\D . #\◖)
(#\E . #\Ǝ) (#\F . #\Ⅎ) (#\G . #\⅁) (#\H . #\H) (#\I . #\I) (#\J . #\s)
(#\K . #\⋊) (#\L . #\˥) (#\M . #\W) (#\N . #\N) (#\O . #\O) (#\P . #\Ԁ)
(#\Q . #\Ό) (#\R . #\ᴚ) (#\S . #\S) (#\T . #\⊥) (#\U . #\∩) (#\V . #\Λ)
(#\W . #\M) (#\X . #\X) (#\Y . #\⅄) (#\Z . #\Z) (#\0 . #\0) (#\1 . #\Ɩ)
(#\2 . #\ᄅ) (#\3 . #\Ɛ) (#\4 . #\ㄣ) (#\5 . #\ϛ) (#\6 . #\9) (#\7 . #\ㄥ)
(#\8 . #\8) (#\9 . #\6)))
(define (flip-string str)
(list->string
(map (lambda (c)
(hash-ref upside-map c (const c)))
(reverse (string->list str)))))
例如:
(flip-string "Hello World")
=> "pןɹoM oןןǝH"
作爲參考,我使用了該變換table取自維基百科。上面的解決方案有一點皺紋:我無法設法使它適用於字符(翻轉
B
),Unicode值爲#\u10412
- 因爲它不適合16位unicode字符,所以它可以「不代表。我不知道Racket不支持需要16位以上編碼的字符。
謝謝奧斯卡獎。它似乎雖然工作。我正在使用列表縮寫的開始學生。也許這就是原因。 – 2013-02-16 23:12:39
@JerryLynch是的,這可能是原因。然後你必須這樣做:在'lambda'(而不是'hash-ref')中創建'cond'併爲每個可能的字符寫一個case。像這樣:'(cond((char =?c#\ a)#\ɐ)...很多條件......(else c))'。這將會訣竅。 – 2013-02-16 23:21:11
@JerryLynch我不認爲這是在這個問題的範圍(似乎也沒有工作,無論是)。無論如何,在Racket中存在將單個字符轉換爲小寫字母的程序'char-downcase',並且它簡單地通過列表中的每個元素調用它。 – 2013-02-16 23:50:27
首先您的網站必須支持Unicode,Unicode由數千個字符組成,Unicode的前127個是ASCII。可以通過將字符轉換爲Unicode字符來創建看似顛倒的文本,該字符看起來像是字符的顛倒版本,例如將「6」轉換爲可以使用「9」的翻轉版本「f」是「ɟ」,它是一個Unicode編號爲607(十六進制代碼025F)的拉丁字符。
從技術上講,您需要兩個文本區域框,一個用於原始文本,另一個用於翻轉文本你需要一個Javascript,使用的onkeyup的Javascript鉤子在第一個文本框調用一個upsideDownText()每一個鍵被釋放這樣的時刻發揮作用:
<textarea rows="5" cols="70" id="src" onkeyup="upsideDownText()"></textarea>
然後做文本處理的upsideDownText()JavaScript函數喜歡 這樣的:
<script type="text/javascript">
function upsideDownText() {
var srcText = document.getElementById('src').value.toLowerCase();
var out = '';
for(var i = srcText.length - 1; i >= 0; --i) {
var ch = srcText.charAt(i);
if(ch == 'a') {
out += '\u0250' }
} else if(ch == 'b') {
out += 'q' }
} else if(ch == 'c') {
out += '\u0254'
// etc....
} else {
out += ch
}
}
document.getElementById('dest').value = out;
}
</script>
獲得通過ID =「SRC」標識的文本框的內容和轉換的字符串中使用與toLowerCase()方法,以小寫。然後從字符串的末尾逐個字符地循環遍歷字符串。一個大的if-then-else-if塊處理字符轉換。最後將轉換後的字符串推入由id =「dest」標識的文本框中,該文本框是較低的文本框。
,你可以找到如何從源代碼這樣一步一步twiki.org
- 1. 顛倒字符串
- 2. 顛倒文件中的字節順序
- 3. Facebook的文本是顛倒
- 4. 顛倒的報告文本?
- 5. SPOJ添加顛倒數字
- 6. 顛倒字符串c#
- 7. MappedByteBuffer字節順序顛倒?
- 8. 顛倒金字塔(PY)
- 9. 顛倒python字符串中的字符
- 10. 顛倒字符串的字符
- 11. 顛倒字符串中的某些字
- 12. 顛倒字符串中字的排序
- 13. 字符串中字的顛倒順序
- 14. PDF顛倒
- 15. 顛倒ObservableCollection
- 16. Hubtile.Title顛倒
- 17. 顛倒鏈表
- 18. 顛倒Floyd-Warshall
- 19. 顛倒鏈表?
- 20. 繪製字體紋理(字符顛倒)
- 21. 顛倒SQL中的字符串
- 22. 顛倒簡單的字符串數組
- 23. 顛倒java中的字符串數組
- 24. 顛倒目標中的字符串
- 25. 顛倒C中的字符串
- 26. 爲什麼字節是顛倒的?
- 27. 顛倒Java中的數字輸出
- 28. 顛倒三角形的數字我Java
- 29. 顛倒顛倒python中的星號三角形
- 30. 展示帶有兩個字母相同的文字顛倒
你可以多談一點這個用例嗎?這是爲了美學嗎?在哪裏可以看到?在網頁上? – sheriffderek 2013-02-16 18:25:56
相關:http://stackoverflow.com/questions/2995340/how-does-uwop-episdn-text-work – dyoo 2013-02-16 19:08:19
不適用於網站。它的drscheme。我標記了方案和球拍。我猜應該早些說過了。 – 2013-02-16 19:10:01