[rank:t]の検索結果


まずカタカナより比較的プログラミングしやすそうな英数字の全角半角変換から作成します。

半角から全角への変換の処理手順は、

・半角英数字の場合は、同じ全角英数字に置き換えて戻り値として返す文字列に連結
・それ以外の文字の場合はそのまま戻り値として返す文字列に連結

また、全角から半角への変換の処理手順は、

・全角英数字の場合は、同じ半角英数字に置き換えて戻り値として返す文字列に連結
・それ以外の文字の場合はそのまま戻り値として返す文字列に連結

となります。

文字コードはそれぞれ以下の通りですので、これらに該当する文字があったら置き換えを行います。

半角数字:0 - 9
30 - 39

全角数字:0 - 9
EFBC90 - EFBC99
2バイト目まではEFBC

半角アルファベット大文字:A - Z
41 - 5A

全角アルファベット大文字:A - Z
EFBCA1 - EFBCBA
2バイト目まではEFBC

半角アルファベット小文字:a - z
61 - 7A

全角アルファベット小文字:a - z
EFBD80 - EFBD9A
2バイト目まではEFBD

以下が英数字の半角から全角へ、全角から半角への変換を行うコード(プログラム)です。

#!/usr/bin/perl

use strict;
use warnings;
use Encode;

my $hanAlnum = "ABCDEい12345あabcde";
my $zenAlnum = "ABCDEい12345あabcdeカ";

my $zenstr = han2zen_alnum($hanAlnum);
Encode::from_to($hanAlnum, 'utf8', 'cp932');
Encode::from_to($zenstr, 'utf8', 'cp932');
print "$hanAlnum ---> $zenstr\n";

my $hanstr = zen2han_alnum($zenAlnum);
Encode::from_to($zenAlnum, 'utf8', 'cp932');
Encode::from_to($hanstr, 'utf8', 'cp932');
print "$zenAlnum ---> $hanstr\n";

# UTF-8でエンコードされた半角英数字を全角英数字に変換する
sub han2zen_alnum {
    my ($src) = @_;

    my $srclen = length($src);
    my $pos = 0;
    my $dest = '';
    while ($pos < $srclen) {
        my $code = ord substr($src, $pos, 1); # 先頭のASCIIコード値を取得
        my $bytelen = _bytesize($code);

        my $lastbyte = 0;
        my $bytechar = '';
        my $flagged_utf8 = ''; 
        if ($code >= 0x30 && $code <= 0x39) { # 数字
            $lastbyte = 0x90 + ($code - 0x30);
            $bytechar = pack("C3", 0xEF, 0xBC, $lastbyte);
            $dest .= $bytechar;
        }
        elsif ($code >= 0x41 && $code <= 0x5A) { # 大文字英字
            $lastbyte = 0xA1 + ($code - 0x41);
            $bytechar = pack("C3", 0xEF, 0xBC, $lastbyte);
            $dest .= $bytechar;
        
        }
        elsif ($code >= 0x61 && $code <= 0x7A) { # 小文字英字
            $lastbyte = 0x81 + ($code - 0x61);
            $bytechar = pack("C3", 0xEF, 0xBD, $lastbyte);
            $dest .= $bytechar;
        }
        else {
            $dest .= substr($src, $pos, $bytelen);
        }
        $pos += $bytelen;
    }

    return $dest;
}

# UTF-8でエンコードされた全角英数字を半角英数字に変換する
sub zen2han_alnum {
    my ($src) = @_;

    my $srclen = length($src);
    my $pos = 0;
    my $dest = '';

    while ($pos < $srclen) {
        my $code = ord substr($src, $pos, 1); # 先頭のASCIIコード値を取得
        my $bytelen = _bytesize($code);
        my $hit = 0;
        if ($code == 0xEF) { # 全角英数の場合は1バイト目がEF
            my $code2 = ord substr($src, $pos + 1, 1);  # 2バイト目
            my $code3 = ord substr($src, $pos + 2, 1);  # 3バイト目
            if ($code2 == 0xBC) {
                if ($code3 >= 0x90 && $code3 <= 0x99) {
                    $dest .= chr(0x30 + ($code3 - 0x90));
                    $hit = 1;
                }
                elsif ($code3 >= 0xA1 && $code3 <= 0xBA) {
                    $dest .= chr(0x41 + ($code3 - 0xA1));
                    $hit = 1;
                }
            }
            elsif ($code2 == 0xBD) {
                if ($code3 >= 0x80 && $code3 <= 0x9A) {
                    $dest .= chr(0x61 + ($code3 - 0x80));
                    $hit = 1;
                }
            }
        }
        if(!$hit) {
            $dest .= substr($src, $pos, $bytelen);
        }
        $pos += $bytelen;
    }

    return $dest;
}

# 文字のバイト長を求める
sub _bytesize {
    my $code = shift;
    my $size = 1;
    if (0x80 & $code) { # 1バイト文字以外
        $code <<= 1;
        for my $i (2 .. 8) {
            $size++;
            $code <<= 1;
            last if (!(0x80 & $code));
        }
    }
    return $size;
}

[2250] Posted by kagahiro at 2012/12/19 16:54:42
0 point | Link (1) | Trackback (0) | Comment (0)

米国の通貨であるドル(USD)と日本の通貨である円(JPY)の通貨ペアドル円(USD/JPY)のリアルタイムチャート。9:55(日本時間)の東京仲値前後や米指標発表時の値動きに要注意。

ドル円リアルタイムチャート

ドル円相場の特徴

  • 東京時間(8:00から17:00)での取引量が多い。
  • 仲値(9:55頃決定し10時に公表)前後に相場が動くことが多い。
  • 本邦実需(輸入企業、輸出企業、年金など)の動向によって相場が動くこともある。
  • 国際紛争(地政学的リスクやテロ事件)の発生などで「リスク回避の円買い」で円高となることがある。
  • 日銀や米FRBの金融政策の変更(利上げや金融緩和など)によって大きく相場が動くことがある。
  • 米雇用統計や消費者物価指数(CPI)などといった米国の経済指標でも相場が動くことがある。

ドル円関連のファンダメンタルズ

  • FRBが利下げに前向きなハト派的姿勢を見せており、米国債金利が低下している。ドル売り材料。
  • 経済指標は一時より悪化しているが、それほど悪いというわけではない。ドル買い材料。
  • 貿易問題で米中協議が行われることになっている妥結できるかは不透明。協議前進ならドル買い。

ドル円以外のリアルタイムチャート

[2915] Posted by kagahiro at 2018/06/21 15:53:07
11 point | Link (26) | Trackback (0) | Comment (8)

Perlで書かれたメールフォームCGIをオープンソースライセンス(GPLv2)で公開しました。

メールフォームCGIはWebページのフォームに入力された内容をメールで通知するスクリプトです。オープンソースライセンスですので無料で自由にカスタマイズして利用できます。

ホームページへのメールフォームの追加は、次のような手順で簡単にできます。

1.mailform.cgi の先頭の以下の部分をサーバーなどの利用環境にあわせて変更します。
my $webmaster_email = 'webmaster@59log.com'; # Webmaster's E-mail address
my $sendmail_path = '/usr/sbin/sendmail'; # sendmail path

2.以下のファイルをサーバーにFTPソフトなどを使用して転送します。
mailform.cgi
mailform.css
tmpl/mailform.tmpl

3.mailform.cgiに実行可能なパーミッション(サーバーによって異なります)を設定します。

メールフォームCGIは、シンプルなPerlスクリプトなので以上のように設置は非常に簡単ですが、HTMLやPerlスクリプトの変更が難しいという方向けに有料(税込2,100円)にてデザインのカスタマイズ(スクリプトの変更をともなわないHTMLファイルやスタイルシートの変更)、設置サポートも行います。有料サポートをご希望され る場合は、デモページのフォームまたは webmaster@59log.com 宛にメールにてご連絡ください。

メールフォームCGIのデモページ
メールフォームCGIのダウンロード

[1880] Posted by kagahiro at 2010/05/17 21:16:05
0 point | Link (12) | Trackback (0) | Comment (0)

C言語のstrncpy関数やmemcpy関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。そこで半角英数も全角文字も1文字として部分文字...
[2324] Posted by kagahiro at 2013/07/02 11:02:48
0 point | Link (3) | Trackback (0) | Comment (0)

裁量トレードで出来た「くそポジ(含み損のポジション)」を「PositionKeeper」の全決済機能を使って消してしまおうという話です。雰囲気で適当に建ててしまった、、、じゃなくて、世界中のあらっゆる情報を集め高度...
[3184] Posted by kagahiro at 2021/10/20 17:26:42
0 point | Link (4) | Trackback (0) | Comment (0)

時間指定で仲値トレードも簡単にできる無料EA「NAKANE3」のVer 2.02を公開しました。最新版(NAKANE3 Ver2.04)はこちらです。Ver 2.02では、パラメーターで指定した時間を経過したら損益に関わらず決済する機能、経...
[3107] Posted by kagahiro at 2020/05/18 17:23:03
22 point | Link (5) | Trackback (0) | Comment (10)

嬉野流とは嬉野流(うれしのりゅう)は、アマ強豪の嬉野宏明氏が開発した将棋奇襲戦法で、初手6八銀(先手の場合)から斜めに銀を繰り出していき2筋の突破を目指す、7六歩を突かず角は引き角として使うなどの特徴が...
[2930] Posted by kagahiro at 2018/08/05 16:05:01
4 point | Link (6) | Trackback (0) | Comment (1)

相場の値動きに応じて自動売買(システムトレード)を行うMT4向け無料EA「IKEIKE」をリリースしました。IKEIKEの特徴「IKEIKE」は相場の値動きに応じて自動的に売買(システムトレード)を行うEAです。上昇を検知した...
[3001] Posted by kagahiro at 2018/11/19 11:18:11
0 point | Link (8) | Trackback (0) | Comment (0)

日本語の文章では半角の英数字と全角の英数字、また、半角のカタカナと全角のカタカナが混在していることがよくあります。意味は半角でも全角でも同じですので、コンピュータで処理する場合はどちらかに統一してから...
[2247] Posted by kagahiro at 2012/12/14 23:52:52
0 point | Link (4) | Trackback (0) | Comment (0)

単にテキストファイル等の文字エンコードを変換するのであれば、iconvコマンドを使用して変換すれば良いのですが、プログラム内部で取得した文字列の文字エンコードを変換したい場合もあります。以下のプログラムはL...
[1982] Posted by kagahiro at 2010/07/26 09:54:29
0 point | Link (2) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  1 2 3 4  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (78 PV)
  2. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (8 PV)
  3. [FX]相場の上げ下げに応じて自動売買するMT4向け高勝率無料EA「IKEIKE」 #システムトレード #指標トレード (6 PV)
  4. MT4向けオープンソースナンピンマーチンEA「Automaton」 (5 PV)
  5. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (5 PV)
  6. [Perl]メールフォームCGIの作り方 (4 PV)
  7. 2chまとめサイト - 痛いニュース(ノ∀`) (3 PV)
  8. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 (3 PV)
  9. MySQLのUPDATE文でLIMIT句を使用して上位3件のレコードを更新する (3 PV)
  10. 「Repeat K」高値安値の中間レートを基準に逆張りポジションを持つMT4向けリピート系(ナンピン)無料EA #自動売買 (3 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1871 PV)
  2. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (301 PV)
  3. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (258 PV)
  4. MT4向けオープンソースナンピンマーチンEA「Automaton」 (149 PV)
  5. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (143 PV)
  6. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 (140 PV)
  7. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (136 PV)
  8. MT4向け1ポジアノマリーEA「DAY TRADING」オープンソースライセンス(GPL3)で公開 #ドル円 (125 PV)
  9. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (112 PV)
  10. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (110 PV)

アクセス統計

ディレクトリ

関連サイト