「UNICODE」を含む日記 RSS

はてなキーワード: UNICODEとは

2007-11-25

天地逆文字

Unicodeにもないよそんなの。

ありゃまあ。んで、はてな記法を要望するのはそれはそれで一考だけど、やはり文字集合セットにお願いするのがスマートなんじゃないかな。テキストに書きたいのははてなに限らないし。

anond:20071125052330

http://anond.hatelabo.jp/20071125004608

たぶんUnicodeではあるんだろうけど、普通に欲しいなあ。将棋の駒の分だけでいいからさ…そう思わない?

Unicodeにもないよそんなの。

将棋については「将棋記法」をはてなに要望するのがいいと思います。

天地逆文字

たぶんUnicodeではあるんだろうけど、普通に欲しいなあ。将棋の駒の分だけでいいからさ…そう思わない?

2007-11-13

UTF-8携帯サイトでの絵文字変換はまだどこも対応してないでOK?

Shift-JIS表示⇔内部処理UTF-8だと、Unicode::JapaneseもEncode::JP::Mobile(パッチのみ?正式には未対応?)も対応してそうな感じなんだけど...。

あ、Perlの話で。

2007-10-19

「免責=チェックしてない」ではない

http://anond.hatelabo.jp/20071019103537

結局のところは程度問題なのだけれど、今回の件は特にひどかった。メールアドレス判定の方が大きく言われているが(いや、これも1文字目には数字以外なら記号でもunicodeでも何でもOKな所がひどいけれど)、個人的にはIPアドレスの方がひどいと思う。あの正規表現をもっとシンプルに書くと、

([0-9]{2,}.){3}[0-9]{2,}

日本語だと(微妙に違うけど)、「数字2つ以上で始まって、2文字離れていれば数字以外が1文字3回まではOKで数字2文字以上で終わる11文字以上の文字列」、たとえば「03-3456-7890#123」とか「123456.123456」とか何でもあり。だけど、例にある「255.255.255.0」は、最後が数字2文字以上なくて、10文字だから駄目というもの。あまりにこれはひどい

OSSが引き合いに出されているが、OSSに限らずほぼすべてのソフトウェアには免責条項が付いていて、ソフトウェア価格以上の保障はしないというのが一般的だ。それはマイクロソフトとて例外ではないが、だからといってまったく検証していないわけではないし、問題があればパッチだって提供している。そりゃ、完璧バグフィクスはされていないけれど、概ね受け入れられている。しかし、人によっては厳しい事を言う人もいる。時には政府だって口を出す。なぜかといえば、これだけのユーザーを抱えるとてつもなく「影響力の大きい」ソフトウェアだからなのだ。

メディアもまた同様で、マスメディアはちょっとしたことでも大きく言われるし、時には法的責任だって問われる。それは、ひとえに影響力の大きさからくるものである。誰も読みもしないチラシに嘘があってもほぼ問題にならないが、大手新聞に嘘があれば問題になるし、内容によっては国際問題にだってなる。それでも、ちょっとした誤植程度ならやっちまった程度で済む。つまり、程度問題。

2007-09-01

http://anond.hatelabo.jp/20070901014546

UTF8/UTF7との格闘で身も心もぼろぼろになるぞ。

て書いてあるから、unicode変換かな?

http://b.hatena.ne.jp/entry/4156231

javaか。

2007-07-22

http://anond.hatelabo.jp/20070722053313

Excel 設計チームの Joel Spolsky 氏はこう書いている。

広く書かれていることだが、生産的な利益は、知識労働者に空間と静かさとプライバシーを与えることによってもたらされる。古典的なソフトウェア管理の本「ピープルウェア」はこれらの生産性が広範囲に渡ることを述べている。

ここに問題がある。我々はみな知識労働者が「すらすらできる」状態のとき、"in the zone"(自分の中に入った状態)としても知られているが、完全に仕事に集中していて周りの環境から遮断されてしているときにベスト仕事をできるということを知っている完全に集中している間に、時間を忘れて素晴らしいものを作り上げるのだ。これが、生産的な仕事をやりとげる時だ。ライタープログラマ科学者、そして野球選手さえもが、完全に集中した状態について語ることができるだろう。

問題は、「集中する」ことは簡単ではないということだ。計ってみるならば、最高の生産性の状態で仕事を始めるまでに平均15分かかるようだ。時には、疲れているときやその日にすでに沢山の生産的な仕事をしてしまったときには、集中することすらできず、残りの就業時間をぶらぶらしたりウェブサイトをみたり、テトリスで遊んだりしてすごすことすらある。

もうひとつ、集中した状態から覚まされることがとてもた易いことだ、という問題がある。騒音、電話のなる音、昼食、コーヒーのためにスターバックスまで5分のドライブ、そして同僚による割り込み、特に同僚による割り込みが問題だが、これらのことはすべて君を集中から覚ますものだ。同僚が君に質問すると1分間の割り込みが入る。しかしそのことで、君は集中が途切れ、再び生産的な状態に入るまで30分を要し、君の全体の生産性にとっては深刻な問題となる。もし君がカフェイン中毒のドットコム企業のやつらが作りたがる、騒々しい牛の囲い場のような環境にあって、営業担当者プログラマの隣りで電話に向かって叫んでいるとしたら、君の生産性は落ち込むだろう。というのも、そんな環境では知識労働者は次から次へと割り込まれ、決して集中することができないからだ。

プログラマについていうと、この問題は特に厄介だ。プログラマ生産性というのは、細々した沢山のことをちょっとずつ記憶しながら同時に操ることができるかどうかにかかっているからだ。いかなる時に割り込みが入っても、そういった細かいことがクラッシュする。仕事に戻ったとき、君は細かいこと(使っているローカル変数の名前や検索アルゴリズムのどこまでを終えたかなど)を思い出せないだろう。そして、そういったことを思い出すことからやり直して、そのために元のスピードに戻るまでには多くの時間がかかる。

ここに簡単な計算式がある。いいかい、(これまで書いてきたように)あるプログラマ邪魔をしたとすると、たとえそれが1分間でも実際には15分間の生産力を吹き飛ばしたことになる。例えば、ここに二人のプログラマがいるとしよう。ジェフとマットだ。典型的なディルバート式の囲いの中に隣り合わせで座っている。(訳註:ディルバートは、1989年よりアメリカ新聞各紙で連載されたコミック主人公。うだつのあがらない係長で、彼の働くオフィスキュービクルと呼ばれる一人ずつのパーティションに区切られている。)マットはstrcpyのUNICODEバージョン関数名が思い出せない。マットは関数名を30秒かけて自分で探すこともできるし、15秒かけてジェフに聞くこともできる。ジェフは隣りに座っているから、ジェフにたずねる。ジェフは注意を逸らされ、15分の生産を失う。(マットの15秒を節約するために、だ。)

さて、二人を壁とドアで区切られた別々の部屋に引越しさせるとしよう。そうするとマットは関数名を忘れたときにはやはり30秒かけて自分で探すか、今や45秒かかり立ち上がることも必要となったが、(プログラマの平均的運動能力からいってこれは簡単なことではない)ジェフに聞くこともできる。立ち上がりたくないので、マットは自分で調べる。マットは30秒の生産を失うが、ジェフの15分は節約できた。ハハハ!

パソコンに詳しい人は、普段から「 Windows のことはわかりません( Linux 専門です)」と云っておいた方がいいかもしれない。 Linux なんて触ったことさえなくともね。

2007-07-21

http://anond.hatelabo.jp/20070721014535

一応マジレスしておくと

Unicode - Wikipedia

波ダッシュ - Wikipedia

要するにわんぱく尊師が「はてラボで(そこまで)やるほどのものでなし」と思っているから

2007-07-10

217 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/07/10(火) 13:49:40 ID:FXQEOZ3v0

Unicode拡張子を偽装された実行ファイルの防御方法

http://d.hatena.ne.jp/hasegawayosuke/20061222/p1

【偽装ファイル例】

[アニメ] ○×△ 第01話 (704x396 DivX651 MXTVEXE.avi       と画面上では表示されているけど・・

          ↓↓↓

[アニメ] ○×△ 第01話 (704x396 DivX651 MXTV(U+202E)avi.EXE  本当は実行ファイル(=ウィルスorトロイ

                                ↑

                              Unicode

223 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/07/10(火) 14:08:11 ID:uF6q4aE80

>>219

よく知らないけど、RLOを複数埋め込んで巧妙に隠すんだそうだ。

.EXEの.とEとXとEが見た目上並んでるとは限らないらしい。

228 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/07/10(火) 14:27:58 ID:3bMjMnB90

特定フォルダ内のexeファイルの実行の禁止方法

1. コントロールパネル管理ツールローカルセキュリティポリシーを開く

2. ソフトウェア制限のポリシー>追加の規則(無ければ新規作成する)を右クリック

3. 新しいパスの規則を選択

4. 参照を選択

5. 禁止したいフォルダを選択

6. セキュリティレベルが「許可しない」になっていることを確認して「OK」

2007-05-23

http://anond.hatelabo.jp/20070523103358

Unicode の文字合成で実現できないかな、と思って調べたけどそういう好き勝手な合成はできないっぽかった。何でも合成しまくれればおもしろいのに。

2007-04-13

ASPファイル受信

'/** Requestオブジェクトから受信したデータを取り出します。
' * @return byte配列を格納した連想配列を返します。
' */
Function getRequestItem()

  If Request.TotalBytes <= 0 Then
    getRequestItem = Null
    Exit Function
  End If

  Dim data
  Dim separator
  Dim dataArray
  Dim buffer
  Dim filePath
  Dim fileName
  Dim ix
  Dim stringIndex
  Dim myCrLf
  Dim items
  Dim itemName

  myCrLf = convertAsc(vbCrLf)
  Set items = Server.CreateObject("Scripting.Dictionary")

  data = Request.BinaryRead(Request.TotalBytes)
  data = LeftB(data, UBound(data) - 3) & myCrLf

  separator = MidB(data, 1, InStrB(1, data, myCrLf) + 1)

  dataArray = SplitB(data, separator)

  For ix = 2 To UBound(dataArray) Step 1
   '1行読み込み
    buffer = MidB(dataArray(ix), 1, InStrB(1, dataArray(ix), myCrLf) - 1)

   'アイテム名の取得
    stringIndex = InStrB(1, buffer, convertAsc("name="))
    If stringIndex > 0 Then
      itemName = convertUnicode(MidB(buffer, stringIndex + 6, InStrB(stringIndex, buffer, ChrB(34)) - stringIndex))
     Else
      itemName = ""
    End If

   'ファイル名の取得
    stringIndex = InStrB(1, buffer, convertAsc("filename="))
    If stringIndex > 0 Then
      filePath = MidB(buffer, stringIndex + 10, InStrB(stringIndex, buffer, ChrB(34)) - stringIndex)
      fileName = RightB(filePath, LenB(filePath) - LastInStrB(0, filePath, convertAsc("\")))
     Else
      fileName = ""
    End If

   'データ部の取得、改行コードの切り捨て
    buffer = RightB(dataArray(ix), LenB(dataArray(ix)) - InStrB(1, dataArray(ix), myCrLf & myCrLf) - 3)
    buffer = LeftB(buffer, LenB(buffer) - 2)

    items.Item(itemName) = parseBytes(buffer)
  Next

  Set getRequestItem = items
  Set items = Nothing

End Function

'/** 文字列の最後尾から指定文字を検索します。
' * @param Start 検索する開始文字位置を指定します。
' * @param String1 検索対象の文字列を指定します。
' * @param String2 検索する文字列を指定します。
' */
Function LastInStrB(ByRef Start, ByRef String1, ByRef String2)

  Dim ix
  Dim lastIndex
  Dim searchLength

  searchLength = LenB(String2)
  lastIndex = LenB(String1) - searchLength + 1
  If Start > 0 And Start < lastIndex Then
    lastIndex = Start
  End If
  For ix = lastIndex To 1 Step -1
    If MidB(String1, ix, searchLength) = String2 Then
      LastInStrB = ix
      Exit Function
    End If
  Next

  LastInStrB = 0

End Function

'/** アスキー文字列に変換します。
' * @param String 対象の文字列を指定します。
' */
Function convertAsc(Byref String)

  Dim ix
  Dim ascii

  ascii = ""
  For ix = 1 To Len(String) Step 1
    ascii = ascii & ChrB(AscB(Mid(String, ix, 1)))
  Next

  convertAsc = ascii

End Function

'/** Unicode文字列に変換します。
' * @param AscString 対象のアスキー文字列を指定します。
' */
Function convertUnicode(Byref AscString)

  Dim ix
  Dim unicode

  unicode = ""
  For ix = 1 To LenB(AscString) Step 1
    unicode = unicode & Chr(AscB(MidB(AscString, ix, 1)))
  Next

  convertUnicode = unicode

End Function

'/** バイナリ対応版Split関数です。
' * @param String 対象の文字列を指定します。
' * @param Delimiter 区切り文字を指定します。
' */
Function SplitB(Byref String, Byref Delimiter)

  Dim ix
  Dim lastIndex
  Dim searchLength
  Dim start
  Dim datas()
  Dim dataIndex

  dataIndex = 1
  start = 1
  delimiterLength = LenB(Delimiter)
  lastIndex = LenB(String) - delimiterLength + 1

 '最初から1文字ずつ繰り返します。
  For ix = 1 To lastIndex Step 1
   'データを比較します。
    If MidB(String, ix, delimiterLength) = Delimiter Then
     'データを取り出せたら配列に格納します。
      ReDim Preserve datas(dataIndex)
      datas(dataIndex) = MidB(String, start, ix - start)
      dataIndex = dataIndex + 1
      start = ix + delimiterLength
    End If
  Next

  SplitB = datas

End Function

'/** Byte配列を返す関数です。
' * @param data 対象のデータを指定します。
' */
Function parseBytes(Byref data)

  Const adLongVarBinary = 205
  Dim recordset

  If LenB(data) <= 0 Then
    parseBytes = CByte(0)
    Exit Function
  End If

  Set recordset = Server.CreateObject("ADODB.Recordset")
  recordset.Fields.Append "UpLoadBinary", adLongVarBinary, LenB(data)
  recordset.Open
  recordset.AddNew
  recordset.Fields("UpLoadBinary").AppendChunk data
  recordset.Update

  parseBytes = recordset.Fields("UpLoadBinary").Value
  recordset.Close
  Set recordset = Nothing

End Function
ログイン ユーザー登録
ようこそ ゲスト さん